From: Sergey Vlasov Date: Sun, 4 Sep 2005 09:43:16 +0000 (+0400) Subject: [PATCH] NUL terminate the object data in patch_delta() X-Git-Tag: v0.99.6~23 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ce726ec8d80ccce4e4956a026d807cb02bdc6de9;p=git-core%2Fgit.git [PATCH] NUL terminate the object data in patch_delta() At least pretty_print_commit() expects to get NUL-terminated commit data to work properly. unpack_sha1_rest(), which reads objects from separate files, and unpack_non_delta_entry(), which reads non-delta-compressed objects from pack files, already add the NUL byte after the object data, but patch_delta() did not do it, which caused problems with, e.g., git-rev-list --pretty when there are delta-compressed commit objects. Signed-off-by: Sergey Vlasov Signed-off-by: Junio C Hamano --- diff --git a/patch-delta.c b/patch-delta.c index 26281ea12..98c27beb2 100644 --- a/patch-delta.c +++ b/patch-delta.c @@ -34,9 +34,10 @@ void *patch_delta(void *src_buf, unsigned long src_size, /* now the result size */ size = get_delta_hdr_size(&data); - dst_buf = malloc(size); + dst_buf = malloc(size + 1); if (!dst_buf) return NULL; + dst_buf[size] = 0; out = dst_buf; while (data < top) {