summaryrefslogtreecommitdiffstats
path: root/Objects/listobject.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-02-25 17:50:03 (GMT)
committerGuido van Rossum <guido@python.org>1998-02-25 17:50:03 (GMT)
commit044b9dc1d717d5ec127a19095f0d803a3249c5b3 (patch)
tree052b81d9615e62c93206c3b5a692299d81d15598 /Objects/listobject.c
parent2f32fbba3425d0d76bb7cdc962e92c46119abe42 (diff)
downloadcpython-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/listobject.c')
-rw-r--r--Objects/listobject.c4
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;