]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
zlib: enforce full initialization of our data space z_stream structs
authorYang Tse <yangsita@gmail.com>
Thu, 18 Aug 2011 18:09:26 +0000 (20:09 +0200)
committerYang Tse <yangsita@gmail.com>
Thu, 18 Aug 2011 18:10:51 +0000 (20:10 +0200)
lib/content_encoding.c
src/mkhelp.pl

index 63bc2433c4e4276724950f8e25be16f763fc8e1a..84d76f4b9841ebb00166cb0b2372c30f8ce24797 100644 (file)
@@ -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 */
index 1d1be601eaef663466f0329843532b37b39d7029..e9de8429d0cf209ec0cc863599a0eb080d77b41d 100644 (file)
@@ -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;