pack: do not free passed in poiter on error

The function `git_packfile_stream_open` tries to free the passed
in stream when an error occurs. The only call site is
`git_indexer_append`, though, which passes in the address of a
stream struct which has not been allocated on the heap.

Fix the issue by simply removing the call to free. In case of an
error we did not allocate any memory yet and otherwise it should
be the caller's responsibility to manage it's object's lifetime.
This commit is contained in:
Patrick Steinhardt 2016-02-09 09:58:56 +01:00
parent e0bbe78134
commit a53d2e3985

View File

@ -790,7 +790,6 @@ int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p,
obj->zstream.next_out = Z_NULL;
st = inflateInit(&obj->zstream);
if (st != Z_OK) {
git__free(obj);
giterr_set(GITERR_ZLIB, "failed to init packfile stream");
return -1;
}