diff options
author | Sergey Vlasov <vsu@altlinux.ru> | 2005-09-04 13:43:16 +0400 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-09-04 10:28:43 -0700 |
commit | ce726ec8d80ccce4e4956a026d807cb02bdc6de9 (patch) | |
tree | 9c3a45c485b1b368fd9d542abb5b52ce58063d34 | |
parent | 2ab141a26f93c4d97e243a6be8a38a7dd4eb35a3 (diff) | |
download | git-ce726ec8d80ccce4e4956a026d807cb02bdc6de9.tar.gz |
[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 <vsu@altlinux.ru>
Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r-- | patch-delta.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/patch-delta.c b/patch-delta.c index 26281ea123..98c27beb25 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) { |