From: Andrew M. Kuchling Date: Mon, 9 Oct 2006 18:42:49 +0000 (+0000) Subject: [Partial backport of r45947 | neal.norwitz] X-Git-Tag: v2.4.4c1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2fafa251dba5df1f90326a825ac6de2b6b906bc3;p=thirdparty%2FPython%2Fcpython.git [Partial backport of r45947 | neal.norwitz] Fix problems found by Coverity. longobject.c: also fix an ssize_t problem could have been NULL, so hoist the size calc to not use . [The ssize_t change isn't needed for 2.4. The other changes in this revision are to modules not present in 2.4. --amk] --- diff --git a/Objects/longobject.c b/Objects/longobject.c index 5847feb87bbc..97becdb5a44e 100644 --- a/Objects/longobject.c +++ b/Objects/longobject.c @@ -1468,9 +1468,10 @@ x_divrem(PyLongObject *v1, PyLongObject *w1, PyLongObject **prem) assert(size_w == ABS(w->ob_size)); /* That's how d was calculated */ size_v = ABS(v->ob_size); - a = _PyLong_New(size_v - size_w + 1); + k = size_v - size_w; + a = _PyLong_New(k + 1); - for (j = size_v, k = a->ob_size-1; a != NULL && k >= 0; --j, --k) { + for (j = size_v; a != NULL && k >= 0; --j, --k) { digit vj = (j >= size_v) ? 0 : v->ob_digit[j]; twodigits q; stwodigits carry = 0;