mirror of
https://git.proxmox.com/git/libgit2
synced 2025-06-21 13:02:38 +00:00
Fix for misleading "missing delta bases" error - Fix #2721.
This commit is contained in:
parent
7561f98d6d
commit
ec7e680c6c
@ -671,8 +671,10 @@ static int inject_object(git_indexer *idx, git_oid *id)
|
||||
seek_back_trailer(idx);
|
||||
entry_start = idx->pack->mwf.size;
|
||||
|
||||
if (git_odb_read(&obj, idx->odb, id) < 0)
|
||||
if (git_odb_read(&obj, idx->odb, id) < 0) {
|
||||
giterr_set(GITERR_INDEXER, "missing delta bases");
|
||||
return -1;
|
||||
}
|
||||
|
||||
data = git_odb_object_data(obj);
|
||||
len = git_odb_object_size(obj);
|
||||
@ -827,7 +829,6 @@ static int resolve_deltas(git_indexer *idx, git_transfer_progress *stats)
|
||||
break;
|
||||
|
||||
if (!progressed && (fix_thin_pack(idx, stats) < 0)) {
|
||||
giterr_set(GITERR_INDEXER, "missing delta bases");
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user