From 756138e4755c93265e34704ee95874c0d81425e5 Mon Sep 17 00:00:00 2001 From: Patrick Steinhardt Date: Tue, 28 Mar 2017 09:15:53 +0200 Subject: blame_git: check return value of `git__calloc` We do not check the return value of `git__calloc`, which may return `NULL` in out-of-memory situations. Fix the error by using `GITERR_CHECK_ALLOC`. --- src/blame_git.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/blame_git.c b/src/blame_git.c index 6d2f1531f..13f5cb47c 100644 --- a/src/blame_git.c +++ b/src/blame_git.c @@ -517,11 +517,12 @@ static int pass_blame(git_blame *blame, git_blame__origin *origin, uint32_t opt) if (!num_parents) { git_oid_cpy(&blame->options.oldest_commit, git_commit_id(commit)); goto finish; - } - else if (num_parents < (int)ARRAY_SIZE(sg_buf)) + } else if (num_parents < (int)ARRAY_SIZE(sg_buf)) memset(sg_buf, 0, sizeof(sg_buf)); - else + else { sg_origin = git__calloc(num_parents, sizeof(*sg_origin)); + GITERR_CHECK_ALLOC(sg_origin); + } for (i=0; i