summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/pack.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/pack.c b/src/pack.c
index b9b22a2ef..52c652178 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -365,9 +365,14 @@ static unsigned char *pack_window_open(
* pointless to ask for an offset into the middle of that
* hash, and the pack_window_contains function above wouldn't match
* don't allow an offset too close to the end of the file.
+ *
+ * Don't allow a negative offset, as that means we've wrapped
+ * around.
*/
if (offset > (p->mwf.size - 20))
return NULL;
+ if (offset < 0)
+ return NULL;
return git_mwindow_open(&p->mwf, w_cursor, offset, 20, left);
}