summaryrefslogtreecommitdiff
path: root/src/signature.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/signature.c')
-rw-r--r--src/signature.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/signature.c b/src/signature.c
index ab5882b95..a18f10474 100644
--- a/src/signature.c
+++ b/src/signature.c
@@ -133,17 +133,14 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
if (header) {
const size_t header_len = strlen(header);
- if (buffer_end - buffer < header_len || memcmp(buffer, header, header_len) != 0)
+ if (buffer + header_len >= buffer_end || memcmp(buffer, header, header_len) != 0)
return signature_error("expected prefix doesn't match actual");
buffer += header_len;
}
- if (buffer >= buffer_end)
- return signature_error("signature too short");
-
- email_start = memrchr(buffer, '<', buffer_end - buffer);
- email_end = memrchr(buffer, '>', buffer_end - buffer);
+ email_start = git__memrchr(buffer, '<', buffer_end - buffer);
+ email_end = git__memrchr(buffer, '>', buffer_end - buffer);
if (!email_start || !email_end || email_end <= email_start)
return signature_error("malformed e-mail");