summaryrefslogtreecommitdiff
path: root/src/odb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/odb.c')
-rw-r--r--src/odb.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/odb.c b/src/odb.c
index 562c86cad..a77eac7c3 100644
--- a/src/odb.c
+++ b/src/odb.c
@@ -310,9 +310,14 @@ static void set_stream_output(z_stream *s, void *out, size_t len)
static int start_inflate(z_stream *s, gitfo_buf *obj, void *out, size_t len)
{
+ int status;
+
init_stream(s, out, len);
set_stream_input(s, obj->data, obj->len);
- inflateInit(s);
+
+ if ((status = inflateInit(s)) < Z_OK)
+ return status;
+
return inflate(s, 0);
}
@@ -377,7 +382,8 @@ static int inflate_buffer(void *in, size_t inlen, void *out, size_t outlen)
init_stream(&zs, out, outlen);
set_stream_input(&zs, in, inlen);
- inflateInit(&zs);
+ if (inflateInit(&zs) < Z_OK)
+ return GIT_ERROR;
while (status == Z_OK)
status = inflate(&zs, Z_FINISH);