diff --git a/src/index.c b/src/index.c index 1e5b28002..d4568aaef 100644 --- a/src/index.c +++ b/src/index.c @@ -957,13 +957,14 @@ int git_index_conflict_remove(git_index *index, const char *path) continue; } - error = git_vector_remove(&index->entries, (unsigned int)pos); + if ((error = git_vector_remove(&index->entries, (unsigned int)pos)) < 0) + return error; - if (error >= 0) - index_entry_free(conflict_entry); + index_entry_free(conflict_entry); + posmax--; } - return error; + return 0; } static int index_conflicts_match(const git_vector *v, size_t idx)