Commit 9afb3433 authored by Yang Tse's avatar Yang Tse
Browse files

zlib: enforce full initialization of our data space z_stream structs

parent 18339846
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -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 */
+1 −3
Original line number Diff line number Diff line
@@ -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;