From 9afb343368280b76135889976b5f351c94f58823 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Thu, 18 Aug 2011 20:09:26 +0200 Subject: [PATCH] zlib: enforce full initialization of our data space z_stream structs --- lib/content_encoding.c | 12 ++---------- src/mkhelp.pl | 4 +--- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/lib/content_encoding.c b/lib/content_encoding.c index 63bc2433c..84d76f4b9 100644 --- a/lib/content_encoding.c +++ b/lib/content_encoding.c @@ -158,11 +158,7 @@ Curl_unencode_deflate_write(struct connectdata *conn, /* Initialize zlib? */ if(k->zlib_init == ZLIB_UNINIT) { - z->zalloc = (alloc_func)Z_NULL; - z->zfree = (free_func)Z_NULL; - z->opaque = 0; - z->next_in = NULL; - z->avail_in = 0; + memset(z, 0, sizeof(z_stream)); if(inflateInit(z) != Z_OK) return process_zlib_error(conn, z); k->zlib_init = ZLIB_INIT; @@ -269,11 +265,7 @@ Curl_unencode_gzip_write(struct connectdata *conn, /* Initialize zlib? */ if(k->zlib_init == ZLIB_UNINIT) { - z->zalloc = (alloc_func)Z_NULL; - z->zfree = (free_func)Z_NULL; - z->opaque = 0; - z->next_in = NULL; - z->avail_in = 0; + memset(z, 0, sizeof(z_stream)); if(strcmp(zlibVersion(), "1.2.0.4") >= 0) { /* zlib ver. >= 1.2.0.4 supports transparent gzip decompressing */ diff --git a/src/mkhelp.pl b/src/mkhelp.pl index 1d1be601e..e9de8429d 100644 --- a/src/mkhelp.pl +++ b/src/mkhelp.pl @@ -177,11 +177,9 @@ void hugehelp(void) return; headerlen = 10; + memset(&z, 0, sizeof(z_stream)); z.avail_in = (unsigned int)(sizeof(hugehelpgz) - headerlen); z.next_in = (unsigned char *)hugehelpgz + headerlen; - z.zalloc = (alloc_func)Z_NULL; - z.zfree = (free_func)Z_NULL; - z.opaque = 0; if (inflateInit2(&z, -MAX_WBITS) != Z_OK) return;