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

Bug fix by mhammond.

Bug fix candidate for 2.2, not present in 2.1.
This commit is contained in:
Jeremy Hylton 2002-04-19 14:37:07 +00:00
parent a6aa71deec
commit c72737e7b6
2 changed files with 7 additions and 0 deletions

View File

@ -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)

View File

@ -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)