signature: free dup'd buffers on parse error

This commit is contained in:
Edward Thomson 2017-05-01 21:32:24 +01:00
parent 4dbcf0e673
commit 34c1310624

View File

@ -228,8 +228,11 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
const char *time_start = email_end + 2;
const char *time_end;
if (git__strtol64(&sig->when.time, time_start, &time_end, 10) < 0)
if (git__strtol64(&sig->when.time, time_start, &time_end, 10) < 0) {
git__free(sig->name);
git__free(sig->email);
return signature_error("invalid Unix timestamp");
}
/* do we have a timezone? */
if (time_end + 1 < buffer_end) {