mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 18:38:58 +00:00
Check for error returns from inflateInit()
At present, it is sufficient to ensure that an error return from inflateInit() is not ignored. Most error returns, like Z_VERSION_ERROR and Z_STREAM_ERROR, indicate programming or build errors. These errors could, perhaps, be handled with simple asserts. However, for a Z_MEM_ERROR, we may want to perform some further error handling in the future. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
c94eb4aa76
commit
236e7579fe
10
src/odb.c
10
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)
|
static int start_inflate(z_stream *s, gitfo_buf *obj, void *out, size_t len)
|
||||||
{
|
{
|
||||||
|
int status;
|
||||||
|
|
||||||
init_stream(s, out, len);
|
init_stream(s, out, len);
|
||||||
set_stream_input(s, obj->data, obj->len);
|
set_stream_input(s, obj->data, obj->len);
|
||||||
inflateInit(s);
|
|
||||||
|
if ((status = inflateInit(s)) < Z_OK)
|
||||||
|
return status;
|
||||||
|
|
||||||
return inflate(s, 0);
|
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);
|
init_stream(&zs, out, outlen);
|
||||||
set_stream_input(&zs, in, inlen);
|
set_stream_input(&zs, in, inlen);
|
||||||
|
|
||||||
inflateInit(&zs);
|
if (inflateInit(&zs) < Z_OK)
|
||||||
|
return GIT_ERROR;
|
||||||
|
|
||||||
while (status == Z_OK)
|
while (status == Z_OK)
|
||||||
status = inflate(&zs, Z_FINISH);
|
status = inflate(&zs, Z_FINISH);
|
||||||
|
Loading…
Reference in New Issue
Block a user