diff options
Diffstat (limited to 'src/libgit2/indexer.c')
-rw-r--r-- | src/libgit2/indexer.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libgit2/indexer.c b/src/libgit2/indexer.c index 7357a4aa5..e559a1942 100644 --- a/src/libgit2/indexer.c +++ b/src/libgit2/indexer.c @@ -519,7 +519,13 @@ static int store_object(git_indexer *idx) pentry->offset = entry_start; if (git_oidmap_exists(idx->pack->idx_cache, &pentry->id)) { - git_error_set(GIT_ERROR_INDEXER, "duplicate object %s found in pack", git_oid_tostr_s(&pentry->id)); + const char *idstr = git_oid_tostr_s(&pentry->id); + + if (!idstr) + git_error_set(GIT_ERROR_INDEXER, "failed to parse object id"); + else + git_error_set(GIT_ERROR_INDEXER, "duplicate object %s found in pack", idstr); + git__free(pentry); goto on_error; } |