summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2012-12-12 17:54:12 -0600
committerEdward Thomson <ethomson@edwardthomson.com>2012-12-12 17:54:12 -0600
commite759b0721718f99f515997c2e7c9c254b35741af (patch)
tree2f26b871d9c03f7d554b6e9fd4ba1c95676a6579 /src
parent6cacd44bd036e9987134a4f43fee33dc1acb447b (diff)
downloadlibgit2-e759b0721718f99f515997c2e7c9c254b35741af.tar.gz
don't walk off the end of the index
Diffstat (limited to 'src')
-rw-r--r--src/index.c9
1 files changed, 5 insertions, 4 deletions
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)