Commit 90f8408dacf0da9def636a042813822b078df735

Edward Thomson 2015-02-18T16:33:50

stash: ensure a reflog has entries

diff --git a/src/stash.c b/src/stash.c
index a316d18..899156d 100644
--- a/src/stash.c
+++ b/src/stash.c
@@ -564,7 +564,7 @@ static int retrieve_stash_commit(
 		goto cleanup;
 
 	max = git_reflog_entrycount(reflog);
-	if (index > max - 1) {
+	if (!max || index > max - 1) {
 		error = GIT_ENOTFOUND;
 		giterr_set(GITERR_STASH, "No stashed state at position %" PRIuZ, index);
 		goto cleanup;
@@ -949,7 +949,7 @@ int git_stash_drop(
 
 	max = git_reflog_entrycount(reflog);
 
-	if (index > max - 1) {
+	if (!max || index > max - 1) {
 		error = GIT_ENOTFOUND;
 		giterr_set(GITERR_STASH, "No stashed state at position %" PRIuZ, index);
 		goto cleanup;