Kaydet (Commit) f6f89e60 authored tarafından Thomas Heller's avatar Thomas Heller

memcmp() can return values other than -1, 0, and +1 but tp_compare

must not.
üst 12b23caa
......@@ -229,6 +229,7 @@ print 'Buffers'
try: buffer('asdf', -1)
except ValueError: pass
else: raise TestFailed, "buffer('asdf', -1) should raise ValueError"
cmp(buffer("abc"), buffer("def")) # used to raise a warning: tp_compare didn't return -1, 0, or 1
try: buffer(None)
except TypeError: pass
......
......@@ -12,6 +12,8 @@ What's New in Python 2.4.4c1?
Core and builtins
-----------------
- Bug #1536786: buffer comparison could emit a RuntimeWarning.
- Bug #1535165: fixed a segfault in input() and raw_input() when
sys.stdin is closed.
......
......@@ -230,7 +230,7 @@ buffer_compare(PyBufferObject *self, PyBufferObject *other)
if (min_len > 0) {
cmp = memcmp(p1, p2, min_len);
if (cmp != 0)
return cmp;
return cmp < 0 ? -1 : 1;
}
return (len_self < len_other) ? -1 : (len_self > len_other) ? 1 : 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment