From: Junio C Hamano Date: Wed, 19 Feb 2014 00:00:53 +0000 (-0800) Subject: open_istream(): do not dereference NULL in the error case X-Git-Tag: v2.0.0-rc0~130^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78368f2c1ad342719ccf1e719bd5126ca6c7b68b;p=thirdparty%2Fgit.git open_istream(): do not dereference NULL in the error case When stream-filter cannot be attached, it is expected to return NULL, and we should close the stream we opened and signal an error by returning NULL ourselves from this function. However, we attempted to dereference that NULL pointer between the point we detected the error and returned from the function. Brought-to-attention-by: John Keeping Signed-off-by: Junio C Hamano --- diff --git a/streaming.c b/streaming.c index d7c9f32f0c..2ff036a0fa 100644 --- a/streaming.c +++ b/streaming.c @@ -152,8 +152,10 @@ struct git_istream *open_istream(const unsigned char *sha1, if (filter) { /* Add "&& !is_null_stream_filter(filter)" for performance */ struct git_istream *nst = attach_stream_filter(st, filter); - if (!nst) + if (!nst) { close_istream(st); + return NULL; + } st = nst; }