From f239308ef1014174d554ccaeab1fe7c2d84e26dc Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 12 May 2007 13:27:09 +0100 Subject: [PATCH] [cairo-deflate-stream] Free the stream on error. Before returning the nil output stream, free the locally allocated stream when encountering an error during _cairo_deflate_stream_Create(). --- src/cairo-deflate-stream.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cairo-deflate-stream.c b/src/cairo-deflate-stream.c index 563c7be6e..38ce63961 100644 --- a/src/cairo-deflate-stream.c +++ b/src/cairo-deflate-stream.c @@ -130,8 +130,10 @@ _cairo_deflate_stream_create (cairo_output_stream_t *output) stream->zlib_stream.zfree = Z_NULL; stream->zlib_stream.opaque = Z_NULL; - if (deflateInit (&stream->zlib_stream, Z_DEFAULT_COMPRESSION) != Z_OK) + if (deflateInit (&stream->zlib_stream, Z_DEFAULT_COMPRESSION) != Z_OK) { + free (stream); return (cairo_output_stream_t *) &_cairo_output_stream_nil; + } stream->zlib_stream.next_in = stream->input_buf; stream->zlib_stream.avail_in = 0;