mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-15 23:07:54 +00:00
Merge pull request #3987 from libgit2/cmn/update-v24
Backport the object parsing fixes
This commit is contained in:
commit
3b49b0a725
@ -44,8 +44,13 @@ ssh-keygen -t rsa -f ~/.ssh/id_rsa -N "" -q
|
|||||||
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
|
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
|
||||||
ssh-keyscan -t rsa localhost >>~/.ssh/known_hosts
|
ssh-keyscan -t rsa localhost >>~/.ssh/known_hosts
|
||||||
|
|
||||||
# Get the fingerprint for localhost and remove the colons so we can parse it as a hex number
|
# Get the fingerprint for localhost and remove the colons so we can parse it as
|
||||||
export GITTEST_REMOTE_SSH_FINGERPRINT=$(ssh-keygen -F localhost -l | tail -n 1 | cut -d ' ' -f 2 | tr -d ':')
|
# a hex number. The Mac version is newer so it has a different output format.
|
||||||
|
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||||
|
export GITTEST_REMOTE_SSH_FINGERPRINT=$(ssh-keygen -E md5 -F localhost -l | tail -n 1 | cut -d ' ' -f 3 | cut -d : -f2- | tr -d :)
|
||||||
|
else
|
||||||
|
export GITTEST_REMOTE_SSH_FINGERPRINT=$(ssh-keygen -F localhost -l | tail -n 1 | cut -d ' ' -f 2 | tr -d ':')
|
||||||
|
fi
|
||||||
|
|
||||||
export GITTEST_REMOTE_URL="ssh://localhost/$HOME/_temp/test.git"
|
export GITTEST_REMOTE_URL="ssh://localhost/$HOME/_temp/test.git"
|
||||||
export GITTEST_REMOTE_USER=$USER
|
export GITTEST_REMOTE_USER=$USER
|
||||||
|
@ -410,10 +410,11 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
|
|||||||
buffer = buffer_start + header_len + 1;
|
buffer = buffer_start + header_len + 1;
|
||||||
|
|
||||||
/* extract commit message */
|
/* extract commit message */
|
||||||
if (buffer <= buffer_end) {
|
if (buffer <= buffer_end)
|
||||||
commit->raw_message = git__strndup(buffer, buffer_end - buffer);
|
commit->raw_message = git__strndup(buffer, buffer_end - buffer);
|
||||||
|
else
|
||||||
|
commit->raw_message = git__strdup("");
|
||||||
GITERR_CHECK_ALLOC(commit->raw_message);
|
GITERR_CHECK_ALLOC(commit->raw_message);
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
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)
|
if ((nul = memchr(buffer, 0, buffer_end - buffer)) == NULL)
|
||||||
return tree_error("Failed to parse tree. Object is corrupted", 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 */
|
/* Allocate the entry */
|
||||||
{
|
{
|
||||||
entry = git_array_alloc(tree->entries);
|
entry = git_array_alloc(tree->entries);
|
||||||
|
Loading…
Reference in New Issue
Block a user