X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=cache-tree.c;h=5f8ee87bb1c446341b640c2f978a658d6bfcfcd0;hb=6e13921b4f7adcc7316a76c0c4955b85b1589a65;hp=39da54d1e56b5905655eafed1aff0f51c2540a8e;hpb=d6d96f835cace1c108100cf88e216a59debcb937;p=git.git diff --git a/cache-tree.c b/cache-tree.c index 39da54d1e..5f8ee87bb 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -341,8 +341,11 @@ static int update_one(struct cache_tree *it, if (dryrun) hash_sha1_file(buffer.buf, buffer.len, tree_type, it->sha1); - else - write_sha1_file(buffer.buf, buffer.len, tree_type, it->sha1); + else if (write_sha1_file(buffer.buf, buffer.len, tree_type, it->sha1)) { + strbuf_release(&buffer); + return -1; + } + strbuf_release(&buffer); it->entry_count = i; #if DEBUG @@ -504,7 +507,7 @@ struct cache_tree *cache_tree_read(const char *buffer, unsigned long size) return read_one(&buffer, &size); } -struct cache_tree *cache_tree_find(struct cache_tree *it, const char *path) +static struct cache_tree *cache_tree_find(struct cache_tree *it, const char *path) { while (*path) { const char *slash;