147 static
148 Image_PyObject *_imlib2_open(char *filename, int use_cache)
149 {
150 Imlib_Image *image;
151 Image_PyObject *o;
152 Imlib_Load_Error error_return = IMLIB_LOAD_ERROR_NONE;
153
154 PyImlib2_BEGIN_CRITICAL_SECTION
releasing the GIL by calling PyEval_SaveThread()
155 if (use_cache)
when considering range: -0x80000000 <= value <= -1
taking True path
156 image = imlib_load_image_with_error_return(filename, &error_return);
157 else
158 image = imlib_load_image_immediately_without_cache(filename);
159 PyImlib2_END_CRITICAL_SECTION
reacquiring the GIL by calling PyEval_RestoreThread()
160
161 if (!image) {
when treating unknown void * from src/imlib2.c:156 as non-NULL
taking False path
162 if (error_return == IMLIB_LOAD_ERROR_NO_LOADER_FOR_FILE_FORMAT)
163 PyErr_Format(PyExc_IOError, "no loader for file format");
164 else
165 PyErr_Format(PyExc_IOError, "Could not open %s: %d", filename,
166 error_return);
167 return NULL;
168 }
169 o = PyObject_NEW(Image_PyObject, &Image_PyObject_Type);
when PyObject_Init() fails
170 o->image = image;
dereferencing NULL (o->image) at src/imlib2.c:171
found 2 similar trace(s) to this
171 o->buffer = o->raw_data = NULL;
172 return o;
173 }