From: Johannes Schindelin Date: Wed, 28 Dec 2005 20:38:32 GMT Subject: Re: [PATCH] Avoid allocating 0 bytes, was Re: [PATCH 4/4] git-compat-util.h: dietlibc-friendly x{malloc,realloc,calloc} Message-ID: In-Reply-To: Hi, On Mon, 26 Dec 2005, Johannes Schindelin wrote: > On Mon, 26 Dec 2005, Junio C Hamano wrote: > > > Johannes Schindelin writes: > > > > > diff --git a/csum-file.c b/csum-file.c > > > index 5f9249a..2c0f097 100644 > > > --- a/csum-file.c > > > +++ b/csum-file.c > > > @@ -121,6 +121,9 @@ int sha1write_compressed(struct sha1file > > > unsigned long maxsize; > > > void *out; > > > > > > + if (size == 0) > > > + return 0; > > > + > > > memset(&stream, 0, sizeof(stream)); > > > deflateInit(&stream, Z_DEFAULT_COMPRESSION); > > > maxsize = deflateBound(&stream, size); > > > > I think this and the one in sha1_file.c::write_sha1_file() are > > wrong; 0-size input would not result in 0-size output. Have you > > tested them by actually exercising the codepaths you touched? > > No, I did not test them. Now I did. To make a long story short: this patch is wrong, wrong, wrong. Further, I think it is safe to assume that deflateBound() returns > 0. Ciao, Dscho