RenĂ© Scharfe <[email protected]> writes:

> Clear the git_zstream variable at the start of git_deflate_init() etc.
> so that callers don't have to do that.
>
> Signed-off-by: Rene Scharfe <[email protected]>

Nice.  "git grep -B1 git_deflate_init" tells me that all existing
callers of the function do this memset().  Clearly the above is a
very good idea and is a safe and sane thing to do.

Thanks.

> ---
>  archive-zip.c          | 2 --
>  builtin/index-pack.c   | 1 -
>  builtin/pack-objects.c | 2 --
>  bulk-checkin.c         | 1 -
>  diff.c                 | 1 -
>  fast-import.c          | 3 ---
>  http-push.c            | 1 -
>  remote-curl.c          | 1 -
>  sha1_file.c            | 1 -
>  zlib.c                 | 2 ++
>  10 files changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/archive-zip.c b/archive-zip.c
> index 4bde019..1a54e1b 100644
> --- a/archive-zip.c
> +++ b/archive-zip.c
> @@ -120,7 +120,6 @@ static void *zlib_deflate_raw(void *data, unsigned long 
> size,
>       void *buffer;
>       int result;
>  
> -     memset(&stream, 0, sizeof(stream));
>       git_deflate_init_raw(&stream, compression_level);
>       maxsize = git_deflate_bound(&stream, size);
>       buffer = xmalloc(maxsize);
> @@ -349,7 +348,6 @@ static int write_zip_entry(struct archiver_args *args,
>               size_t out_len;
>               unsigned char compressed[STREAM_BUFFER_SIZE * 2];
>  
> -             memset(&zstream, 0, sizeof(zstream));
>               git_deflate_init_raw(&zstream, args->compression_level);
>  
>               compressed_size = 0;
> diff --git a/builtin/index-pack.c b/builtin/index-pack.c
> index 4632117..cf654df 100644
> --- a/builtin/index-pack.c
> +++ b/builtin/index-pack.c
> @@ -1204,7 +1204,6 @@ static int write_compressed(struct sha1file *f, void 
> *in, unsigned int size)
>       int status;
>       unsigned char outbuf[4096];
>  
> -     memset(&stream, 0, sizeof(stream));
>       git_deflate_init(&stream, zlib_compression_level);
>       stream.next_in = in;
>       stream.avail_in = size;
> diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
> index d816587..c3a7516 100644
> --- a/builtin/pack-objects.c
> +++ b/builtin/pack-objects.c
> @@ -125,7 +125,6 @@ static unsigned long do_compress(void **pptr, unsigned 
> long size)
>       void *in, *out;
>       unsigned long maxsize;
>  
> -     memset(&stream, 0, sizeof(stream));
>       git_deflate_init(&stream, pack_compression_level);
>       maxsize = git_deflate_bound(&stream, size);
>  
> @@ -153,7 +152,6 @@ static unsigned long write_large_blob_data(struct 
> git_istream *st, struct sha1fi
>       unsigned char obuf[1024 * 16];
>       unsigned long olen = 0;
>  
> -     memset(&stream, 0, sizeof(stream));
>       git_deflate_init(&stream, pack_compression_level);
>  
>       for (;;) {
> diff --git a/bulk-checkin.c b/bulk-checkin.c
> index 0c4b8a7..8d157eb 100644
> --- a/bulk-checkin.c
> +++ b/bulk-checkin.c
> @@ -105,7 +105,6 @@ static int stream_to_pack(struct bulk_checkin_state 
> *state,
>       int write_object = (flags & HASH_WRITE_OBJECT);
>       off_t offset = 0;
>  
> -     memset(&s, 0, sizeof(s));
>       git_deflate_init(&s, pack_compression_level);
>  
>       hdrlen = encode_in_pack_object_header(type, size, obuf);
> diff --git a/diff.c b/diff.c
> index d1bd534..dad875c 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -2093,7 +2093,6 @@ static unsigned char *deflate_it(char *data,
>       unsigned char *deflated;
>       git_zstream stream;
>  
> -     memset(&stream, 0, sizeof(stream));
>       git_deflate_init(&stream, zlib_compression_level);
>       bound = git_deflate_bound(&stream, size);
>       deflated = xmalloc(bound);
> diff --git a/fast-import.c b/fast-import.c
> index aac2c24..77fb2ff 100644
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -1062,7 +1062,6 @@ static int store_object(
>       } else
>               delta = NULL;
>  
> -     memset(&s, 0, sizeof(s));
>       git_deflate_init(&s, pack_compression_level);
>       if (delta) {
>               s.next_in = delta;
> @@ -1090,7 +1089,6 @@ static int store_object(
>                       free(delta);
>                       delta = NULL;
>  
> -                     memset(&s, 0, sizeof(s));
>                       git_deflate_init(&s, pack_compression_level);
>                       s.next_in = (void *)dat->buf;
>                       s.avail_in = dat->len;
> @@ -1190,7 +1188,6 @@ static void stream_blob(uintmax_t len, unsigned char 
> *sha1out, uintmax_t mark)
>  
>       crc32_begin(pack_file);
>  
> -     memset(&s, 0, sizeof(s));
>       git_deflate_init(&s, pack_compression_level);
>  
>       hdrlen = encode_in_pack_object_header(OBJ_BLOB, len, out_buf);
> diff --git a/http-push.c b/http-push.c
> index 0beb7ab..bfb1c96 100644
> --- a/http-push.c
> +++ b/http-push.c
> @@ -365,7 +365,6 @@ static void start_put(struct transfer_request *request)
>       hdrlen = sprintf(hdr, "%s %lu", typename(type), len) + 1;
>  
>       /* Set it up */
> -     memset(&stream, 0, sizeof(stream));
>       git_deflate_init(&stream, zlib_compression_level);
>       size = git_deflate_bound(&stream, len + hdrlen);
>       strbuf_init(&request->buffer.buf, size);
> diff --git a/remote-curl.c b/remote-curl.c
> index deb4bfe..af7b678 100644
> --- a/remote-curl.c
> +++ b/remote-curl.c
> @@ -567,7 +567,6 @@ retry:
>               git_zstream stream;
>               int ret;
>  
> -             memset(&stream, 0, sizeof(stream));
>               git_deflate_init_gzip(&stream, Z_BEST_COMPRESSION);
>               gzip_size = git_deflate_bound(&stream, rpc->len);
>               gzip_body = xmalloc(gzip_size);
> diff --git a/sha1_file.c b/sha1_file.c
> index 69a60ec..88f06ba 100644
> --- a/sha1_file.c
> +++ b/sha1_file.c
> @@ -2943,7 +2943,6 @@ static int write_loose_object(const unsigned char 
> *sha1, char *hdr, int hdrlen,
>       }
>  
>       /* Set it up */
> -     memset(&stream, 0, sizeof(stream));
>       git_deflate_init(&stream, zlib_compression_level);
>       stream.next_out = compressed;
>       stream.avail_out = sizeof(compressed);
> diff --git a/zlib.c b/zlib.c
> index 61e6df0..4223f1a 100644
> --- a/zlib.c
> +++ b/zlib.c
> @@ -159,6 +159,7 @@ void git_deflate_init(git_zstream *strm, int level)
>  {
>       int status;
>  
> +     memset(strm, 0, sizeof(*strm));
>       zlib_pre_call(strm);
>       status = deflateInit(&strm->z, level);
>       zlib_post_call(strm);
> @@ -172,6 +173,7 @@ static void do_git_deflate_init(git_zstream *strm, int 
> level, int windowBits)
>  {
>       int status;
>  
> +     memset(strm, 0, sizeof(*strm));
>       zlib_pre_call(strm);
>       status = deflateInit2(&strm->z, level,
>                                 Z_DEFLATED, windowBits,
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to