streaming.c: fix a memleak
commit9ce4ad3e0eac33b4cae38ebd76c26ddba2468631
authorJohn Keeping <john@keeping.me.uk>
Tue, 31 Mar 2015 01:22:11 +0000 (30 18:22 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 31 Mar 2015 19:14:42 +0000 (31 12:14 -0700)
tree2cdf4771051cd839933373ac9088842d8f4bd1ea
parent47a02ff2ca821c52268197dd5fa46cd60a2e94bc
streaming.c: fix a memleak

When stream_blob_to_fd() opens an input stream with a filter, the
filter gets discarded upon calling close_istream() before the
function returns in the normal case.  However, when we fail to open
the stream, we failed to discard the filter.

By discarding the filter in the failure case, give a consistent
life-time rule of the filter to the callers; otherwise the callers
need to conditionally discard the filter themselves, and this
function does not give enough hint for the caller to do so
correctly.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
streaming.c