瀏覽代碼

Apparently, zlib sometimes reports Z_BUF_ERROR on input exhaustion as well as on running out of output space. This could well fix the assert bug reported by weasel and arma.

svn:r6682
Nick Mathewson 20 年之前
父節點
當前提交
06e09cdd47
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      src/common/torgzip.c

+ 2 - 0
src/common/torgzip.c

@@ -348,6 +348,8 @@ tor_zlib_process(tor_zlib_state_t *state,
     case Z_STREAM_END:
       return TOR_ZLIB_DONE;
     case Z_BUF_ERROR:
+      if (state->stream.avail_in == 0)
+        return Z_OK;
       return TOR_ZLIB_BUF_FULL;
     case Z_OK:
       if (state->stream.avail_out == 0)