Flate: fix valgrind miniz Conditional-jump-or-move-depends... error
authorhalcanary <halcanary@google.com>
Fri, 27 Feb 2015 18:39:28 +0000 (10:39 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 27 Feb 2015 18:39:28 +0000 (10:39 -0800)
Review URL: https://codereview.chromium.org/964933003

src/core/SkFlate.cpp

index baf1c77..f990dc3 100644 (file)
@@ -24,12 +24,19 @@ namespace {
 // static
 const size_t kBufferSize = 1024;
 
+static void* skia_alloc_func(void*, size_t items, size_t size) {
+    return sk_calloc_throw(items * size);
+}
+
+static void skia_free_func(void*, void* address) { sk_free(address); }
+
 bool doFlate(bool compress, SkStream* src, SkWStream* dst) {
     uint8_t inputBuffer[kBufferSize];
     uint8_t outputBuffer[kBufferSize];
     z_stream flateData;
-    flateData.zalloc = NULL;
-    flateData.zfree = NULL;
+    flateData.zalloc = &skia_alloc_func;
+    flateData.zfree = &skia_free_func;
+    flateData.opaque = NULL;
     flateData.next_in = NULL;
     flateData.avail_in = 0;
     flateData.next_out = outputBuffer;
@@ -170,9 +177,9 @@ SkDeflateWStream::SkDeflateWStream(SkWStream* out)
     if (!fImpl->fOut) {
         return;
     }
-    fImpl->fZStream.zalloc = Z_NULL;
-    fImpl->fZStream.zfree = Z_NULL;
-    fImpl->fZStream.opaque = Z_NULL;
+    fImpl->fZStream.zalloc = &skia_alloc_func;
+    fImpl->fZStream.zfree = &skia_free_func;
+    fImpl->fZStream.opaque = NULL;
     SkDEBUGCODE(int r =) deflateInit(&fImpl->fZStream, Z_DEFAULT_COMPRESSION);
     SkASSERT(Z_OK == r);
 }