Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
python-imaging
Imaging-1.1.7-ssize.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File Imaging-1.1.7-ssize.patch of Package python-imaging
Index: _imaging.c =================================================================== --- _imaging.c.orig +++ _imaging.c @@ -369,6 +369,7 @@ static void* getlist(PyObject* arg, int* length, const char* wrong_length, int type) { int i, n; + Py_ssize_t s; void* list; if (!PySequence_Check(arg)) { @@ -376,7 +377,8 @@ getlist(PyObject* arg, int* length, cons return NULL; } - n = PyObject_Length(arg); + s = PyObject_Length(arg); + n = (s > INT_MAX) ? INT_MAX : s; if (length && wrong_length && n != *length) { PyErr_SetString(PyExc_ValueError, wrong_length); return NULL; @@ -1204,6 +1206,7 @@ _putdata(ImagingObject* self, PyObject* { Imaging image; int n, i, x, y; + Py_ssize_t s; PyObject* data; double scale = 1.0; @@ -1218,7 +1221,8 @@ _putdata(ImagingObject* self, PyObject* image = self->image; - n = PyObject_Length(data); + s = PyObject_Length(data); + n = (s > INT_MAX) ? INT_MAX : s; if (n > (int) (image->xsize * image->ysize)) { PyErr_SetString(PyExc_TypeError, "too many data entries"); return NULL; @@ -3014,7 +3018,7 @@ image_item(ImagingObject *self, Py_ssize } static PySequenceMethods image_as_sequence = { - (inquiry) image_length, /*sq_length*/ + (lenfunc) image_length, /*sq_length*/ (binaryfunc) NULL, /*sq_concat*/ (ssizeargfunc) NULL, /*sq_repeat*/ (ssizeargfunc) image_item, /*sq_item*/ Index: path.c =================================================================== --- path.c.orig +++ path.c @@ -116,6 +116,7 @@ int PyPath_Flatten(PyObject* data, double **pxy) { int i, j, n; + Py_ssize_t s; double *xy; if (PyPath_Check(data)) { @@ -149,7 +150,8 @@ PyPath_Flatten(PyObject* data, double ** } j = 0; - n = PyObject_Length(data); + s = PyObject_Length(data); + n = (s > INT_MAX) ? INT_MAX : s; /* Just in case __len__ breaks (or doesn't exist) */ if (PyErr_Occurred()) return -1; @@ -359,7 +361,7 @@ path_getbbox(PyPathObject* self, PyObjec } static PyObject* -path_getitem(PyPathObject* self, int i) +path_getitem(PyPathObject* self, Py_ssize_t i) { if (i < 0 || i >= self->count) { PyErr_SetString(PyExc_IndexError, "path index out of range"); @@ -425,7 +427,7 @@ path_map(PyPathObject* self, PyObject* a } static int -path_setitem(PyPathObject* self, int i, PyObject* op) +path_setitem(PyPathObject* self, Py_ssize_t i, PyObject* op) { double* xy;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor