* pad some zeroes before / after compressing so valgrind doesn't get alarmed
authorWilfried Göesgens <willi@citadel.org>
Sat, 7 Feb 2009 16:25:35 +0000 (16:25 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sat, 7 Feb 2009 16:25:35 +0000 (16:25 +0000)
libcitadel/debian/control
libcitadel/lib/stringbuf.c

index b4e5be1c0610bda9e6a4c435ac1511229d1f859b..18ebe2c56cf2c28bb79d8c82fdb3e5198176800a 100644 (file)
@@ -3,7 +3,7 @@ Section: libs
 Priority: optional
 Maintainer: Citadel Team <room_citadel_development@uncensored.citadel.org>
 Uploaders: Wilfried Goesgens <w.goesgens@outgesourced.org>, Alexander Wirt <formorer@debian.org>
-Build-Depends: debhelper (>= 5)
+Build-Depends: debhelper (>= 5), zlib1g-dev
 Standards-Version: 3.7.3
 Homepage: http://citadel.org
 
index 9b03a0e6c10fc89951a2099717c04eadb19841d4..ba1c12c173b222e8cefbbbcbf8bc1e0676ebfd0c 100644 (file)
@@ -1449,10 +1449,14 @@ int CompressBuffer(StrBuf *Buf)
 #ifdef HAVE_ZLIB
        char *compressed_data = NULL;
        size_t compressed_len, bufsize;
+       int i = 0;
        
        bufsize = compressed_len = ((Buf->BufUsed * 101) / 100) + 100;
        compressed_data = malloc(compressed_len);
        
+       /* Flush some space after the used payload so valgrind shuts up... */
+        while ((i < 10) && (Buf->BufUsed + i < Buf->BufSize))
+               Buf->buf[Buf->BufUsed + i++] = '\0';
        if (compress_gzip((Bytef *) compressed_data,
                          &compressed_len,
                          (Bytef *) Buf->buf,
@@ -1462,6 +1466,10 @@ int CompressBuffer(StrBuf *Buf)
                Buf->buf = compressed_data;
                Buf->BufUsed = compressed_len;
                Buf->BufSize = bufsize;
+               /* Flush some space after the used payload so valgrind shuts up... */
+               i = 0;
+               while ((i < 10) && (Buf->BufUsed + i < Buf->BufSize))
+                       Buf->buf[Buf->BufUsed + i++] = '\0';
                return 1;
        } else {
                free(compressed_data);