diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-05-12 00:23:59 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-05-12 00:23:59 +0300 |
commit | 051086b947ee7a6fdd5697889a225098f723761d (patch) | |
tree | 0920d85e5e97dad89618cf87307a3f4d0bf5abbe /builtin/hash-object.c | |
parent | b9f5d3874f3406c820049b26fd7b10f7cae7138f (diff) | |
parent | 1427a7ff70bce0c1040831d5d674c83ebcda6d7d (diff) |
Merge branch 'jc/hash-object'
"hash-object --literally" introduced in v2.2 was not prepared to
take a really long object type name.
* jc/hash-object:
write_sha1_file(): do not use a separate sha1[] array
t1007: add hash-object --literally tests
hash-object --literally: fix buffer overrun with extra-long object type
git-hash-object.txt: document --literally option
Diffstat (limited to 'builtin/hash-object.c')
-rw-r--r-- | builtin/hash-object.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/builtin/hash-object.c b/builtin/hash-object.c index 207b90c7b1..07fef3cc6b 100644 --- a/builtin/hash-object.c +++ b/builtin/hash-object.c @@ -22,10 +22,8 @@ static int hash_literally(unsigned char *sha1, int fd, const char *type, unsigne if (strbuf_read(&buf, fd, 4096) < 0) ret = -1; - else if (flags & HASH_WRITE_OBJECT) - ret = write_sha1_file(buf.buf, buf.len, type, sha1); else - ret = hash_sha1_file(buf.buf, buf.len, type, sha1); + ret = hash_sha1_file_literally(buf.buf, buf.len, type, sha1, flags); strbuf_release(&buf); return ret; } |