Commit 11f9d244 authored by Jeremy Hylton's avatar Jeremy Hylton

Fix SF #544995 (zlib crash on second flush call)

Bug fix by mhammond.

Bug fix candidate for 2.2, not present in 2.1.
parent 8da0dedc
......@@ -41,6 +41,12 @@ buf = buf * 16
co = zlib.compressobj(8, 8, -15)
x1 = co.compress(buf)
x2 = co.flush()
try:
co.flush()
print "Oops - second flush worked when it should not have!"
except zlib.error:
pass
x = x1 + x2
dc = zlib.decompressobj(-15)
......
......@@ -648,6 +648,7 @@ PyZlib_flush(compobject *self, PyObject *args)
zlib_error(self->zst, err, "while flushing");
Py_DECREF(RetVal);
RetVal = NULL;
goto error;
}
if (_PyString_Resize(&RetVal, self->zst.total_out - start_total_out) < 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