diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2024-02-05 14:35:53 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2024-02-06 10:42:28 -0800 |
| commit | 568459bf5e97a4f61429e3bdd1f97b54b39a1383 (patch) | |
| tree | 7b17660c5d8aecf25dc3060c5c80ffa19d7b22c1 /builtin/grep.c | |
| parent | 564d0252ca632e0264ed670534a51d18a689ef5d (diff) | |
| download | git-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 'builtin/grep.c')
| -rw-r--r-- | builtin/grep.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/builtin/grep.c b/builtin/grep.c index fe78d4c98b..63d519c933 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -575,6 +575,8 @@ static int grep_cache(struct grep_opt *opt, data = repo_read_object_file(the_repository, &ce->oid, &type, &size); + if (!data) + die(_("unable to read tree %s"), oid_to_hex(&ce->oid)); init_tree_desc(&tree, data, size); hit |= grep_tree(opt, pathspec, &tree, &name, 0, 0); |
