diff options
author | Guido van Rossum <guido@python.org> | 1998-02-25 17:50:03 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1998-02-25 17:50:03 (GMT) |
commit | 044b9dc1d717d5ec127a19095f0d803a3249c5b3 (patch) | |
tree | 052b81d9615e62c93206c3b5a692299d81d15598 /Objects | |
parent | 2f32fbba3425d0d76bb7cdc962e92c46119abe42 (diff) | |
download | cpython-044b9dc1d717d5ec127a19095f0d803a3249c5b3.zip cpython-044b9dc1d717d5ec127a19095f0d803a3249c5b3.tar.gz cpython-044b9dc1d717d5ec127a19095f0d803a3249c5b3.tar.bz2 |
Add back some safeguards on the index elements that were lost in the
last patch. Dave Ascher found a case that dumps core without these:
def myComparison(x,y):
return cmp(x%3,y%7)
z = range(12)
z.sort(myComparison)
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/listobject.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Objects/listobject.c b/Objects/listobject.c index a5bd038..8bec8af 100644 --- a/Objects/listobject.c +++ b/Objects/listobject.c @@ -719,7 +719,7 @@ quicksort(array, size, compare) r = hi-2; for (;;) { /* Move left index to element > pivot */ - for (;;) { + while (l < hi) { k = docompare(*l, pivot, compare); if (k == CMPERROR) return -1; @@ -728,7 +728,7 @@ quicksort(array, size, compare) l++; } /* Move right index to element < pivot */ - for (;;) { + while (r >= lo) { k = docompare(pivot, *r, compare); if (k == CMPERROR) return -1; |