aboutsummaryrefslogtreecommitdiffstats
path: root/combine-diff.c
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2024-02-05 14:35:53 +0000
committerJunio C Hamano <gitster@pobox.com>2024-02-06 10:42:28 -0800
commit568459bf5e97a4f61429e3bdd1f97b54b39a1383 (patch)
tree7b17660c5d8aecf25dc3060c5c80ffa19d7b22c1 /combine-diff.c
parent564d0252ca632e0264ed670534a51d18a689ef5d (diff)
downloadgit-568459bf5e97a4f61429e3bdd1f97b54b39a1383.tar.gz
Always check the return value of `repo_read_object_file()`
There are a couple of places in Git's source code where the return value is not checked. As a consequence, they are susceptible to segmentation faults. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'combine-diff.c')
-rw-r--r--combine-diff.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/combine-diff.c b/combine-diff.c
index f90f442482..c5492809e9 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -338,6 +338,8 @@ static char *grab_blob(struct repository *r,
free_filespec(df);
} else {
blob = repo_read_object_file(r, oid, &type, size);
+ if (!blob)
+ die(_("unable to read %s"), oid_to_hex(oid));
if (type != OBJ_BLOB)
die("object '%s' is not a blob!", oid_to_hex(oid));
}