Преглед на файлове

Fix uninitialized variable access in zlib reported by valgrind. Their web site claims it does no harm ( http://www.zlib.net/zlib_faq.html#faq36 ), but fixing it this way eliminates the problem.

David Cole преди 16 години
родител
ревизия
cf133ff6b3
променени са 1 файла, в които са добавени 7 реда и са изтрити 0 реда
  1. 7 0
      Utilities/cmzlib/deflate.c

+ 7 - 0
Utilities/cmzlib/deflate.c

@@ -285,6 +285,13 @@ int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel, strategy,
     s->hash_shift =  ((s->hash_bits+MIN_MATCH-1)/MIN_MATCH);
 
     s->window = (Bytef *) ZALLOC(strm, s->w_size, 2*sizeof(Byte));
+
+    // The following memset eliminates the valgrind uninitialized warning
+    // "swept under the carpet" here:
+    // http://www.zlib.net/zlib_faq.html#faq36
+    //
+    memset(s->window, 0, s->w_size*2*sizeof(Byte));
+
     s->prev   = (Posf *)  ZALLOC(strm, s->w_size, sizeof(Pos));
     s->head   = (Posf *)  ZALLOC(strm, s->hash_size, sizeof(Pos));