cat-file: use a single strbuf for all output
[gitweb.git] / tree-walk.c
index ecd6e53b8541408add0de076b01932a1ffd631e9..77b37f36fa1bc8fae48231d35514b88d51902488 100644 (file)
@@ -27,8 +27,9 @@ static int decode_tree_entry(struct tree_desc *desc, const char *buf, unsigned l
 {
        const char *path;
        unsigned int mode, len;
+       const unsigned hashsz = the_hash_algo->rawsz;
 
-       if (size < 23 || buf[size - 21]) {
+       if (size < hashsz + 3 || buf[size - (hashsz + 1)]) {
                strbuf_addstr(err, _("too-short tree object"));
                return -1;
        }