summaryrefslogtreecommitdiff
path: root/src/pack.c
diff options
context:
space:
mode:
authorRavindra Patel <ravindp@microsoft.com>2014-11-20 12:07:55 -0500
committerRavindra Patel <ravindp@microsoft.com>2014-11-21 15:05:34 -0500
commitec7e680c6c56897bc0881cbcd14c2f1e9ac624c5 (patch)
tree5cd072ff624adf571e8e568e78bee87afb97641f /src/pack.c
parent7561f98d6d1157eec60d1fcf083c0a91a07cd95d (diff)
downloadlibgit2-ec7e680c6c56897bc0881cbcd14c2f1e9ac624c5.tar.gz
Fix for misleading "missing delta bases" error - Fix #2721.
Diffstat (limited to 'src/pack.c')
-rw-r--r--src/pack.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pack.c b/src/pack.c
index 79032381c..df2563101 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -408,11 +408,14 @@ static int packfile_unpack_header1(
size = c & 15;
shift = 4;
while (c & 0x80) {
- if (len <= used)
+ if (len <= used) {
+ giterr_set(GITERR_ODB, "buffer too small");
return GIT_EBUFS;
+ }
if (bitsizeof(long) <= shift) {
*usedp = 0;
+ giterr_set(GITERR_ODB, "packfile corrupted");
return -1;
}