diff --git a/sha1_file.c b/sha1_file.c
index 27f3b9b278a97f66f92ca61a2bc39e30f0a70317..956422ba4a5df5f46caaf85f10e4c85321439272 100644 (file)
--- a/sha1_file.c
+++ b/sha1_file.c
while (c & 0x80) {
if (len <= used || bitsizeof(long) <= shift) {
error("bad object header");
while (c & 0x80) {
if (len <= used || bitsizeof(long) <= shift) {
error("bad object header");
- return 0;
+ size = used = 0;
+ break;
}
c = buf[used++];
size += (c & 0x7f) << shift;
}
c = buf[used++];
size += (c & 0x7f) << shift;
if ((type == OBJ_BLOB) && path) {
struct strbuf nbuf = STRBUF_INIT;
if (convert_to_git(path, buf, size, &nbuf,
if ((type == OBJ_BLOB) && path) {
struct strbuf nbuf = STRBUF_INIT;
if (convert_to_git(path, buf, size, &nbuf,
- write_object ? safe_crlf : 0)) {
+ write_object ? safe_crlf : SAFE_CRLF_FALSE)) {
buf = strbuf_detach(&nbuf, &size);
re_allocated = 1;
}
buf = strbuf_detach(&nbuf, &size);
re_allocated = 1;
}