mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-21 18:03:54 +00:00
Merge pull request #3956 from pks-t/pks/object-parsing-hardening
Object parsing hardening
This commit is contained in:
commit
aae8953496
@ -459,10 +459,11 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
|
||||
buffer = buffer_start + header_len + 1;
|
||||
|
||||
/* extract commit message */
|
||||
if (buffer <= buffer_end) {
|
||||
if (buffer <= buffer_end)
|
||||
commit->raw_message = git__strndup(buffer, buffer_end - buffer);
|
||||
else
|
||||
commit->raw_message = git__strdup("");
|
||||
GITERR_CHECK_ALLOC(commit->raw_message);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -447,7 +447,12 @@ int git_tree__parse(void *_tree, git_odb_object *odb_obj)
|
||||
if ((nul = memchr(buffer, 0, buffer_end - buffer)) == NULL)
|
||||
return tree_error("Failed to parse tree. Object is corrupted", NULL);
|
||||
|
||||
filename_len = nul - buffer;
|
||||
if ((filename_len = nul - buffer) == 0)
|
||||
return tree_error("Failed to parse tree. Can't parse filename", NULL);
|
||||
|
||||
if ((buffer_end - (nul + 1)) < GIT_OID_RAWSZ)
|
||||
return tree_error("Failed to parse tree. Can't parse OID", NULL);
|
||||
|
||||
/* Allocate the entry */
|
||||
{
|
||||
entry = git_array_alloc(tree->entries);
|
||||
|
Loading…
Reference in New Issue
Block a user