mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 10:03:43 +00:00
oid: Do not parse OIDs longer than 40
This commit is contained in:
parent
1f10747854
commit
13640d1bb8
@ -25,7 +25,7 @@ int git_oid_fromstrn(git_oid *out, const char *str, size_t length)
|
|||||||
int v;
|
int v;
|
||||||
|
|
||||||
if (length > GIT_OID_HEXSZ)
|
if (length > GIT_OID_HEXSZ)
|
||||||
length = GIT_OID_HEXSZ;
|
return oid_error_invalid("too long");
|
||||||
|
|
||||||
for (p = 0; p < length - 1; p += 2) {
|
for (p = 0; p < length - 1; p += 2) {
|
||||||
v = (git__fromhex(str[p + 0]) << 4)
|
v = (git__fromhex(str[p + 0]) << 4)
|
||||||
|
@ -11,7 +11,7 @@ void test_core_oid__initialize(void)
|
|||||||
{
|
{
|
||||||
cl_git_pass(git_oid_fromstr(&id, str_oid));
|
cl_git_pass(git_oid_fromstr(&id, str_oid));
|
||||||
cl_git_pass(git_oid_fromstrp(&idp, str_oid_p));
|
cl_git_pass(git_oid_fromstrp(&idp, str_oid_p));
|
||||||
cl_git_pass(git_oid_fromstrp(&idm, str_oid_m));
|
cl_git_fail(git_oid_fromstrp(&idm, str_oid_m));
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_core_oid__streq(void)
|
void test_core_oid__streq(void)
|
||||||
@ -27,6 +27,4 @@ void test_core_oid__streq(void)
|
|||||||
|
|
||||||
cl_assert(git_oid_streq(&idp, "deadbeef") == -1);
|
cl_assert(git_oid_streq(&idp, "deadbeef") == -1);
|
||||||
cl_assert(git_oid_streq(&idp, "I'm not an oid.... :)") == -1);
|
cl_assert(git_oid_streq(&idp, "I'm not an oid.... :)") == -1);
|
||||||
|
|
||||||
cl_assert(git_oid_cmp(&id, &idm) == 0);
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user