Fix off-by-one problems in git_signature__parse

Etc/GMT-14 aka UTC+14:00 is a thing....
https://en.wikipedia.org/wiki/UTC%2B14:00

Also allow offsets on the last minute (59).

Addresses: https://bugs.debian.org/841532
Fixes: #3970
This commit is contained in:
Andreas Henriksson 2016-12-17 17:33:13 +01:00 committed by Andreas Henriksson
parent c655def117
commit 23c9ff8632

View File

@ -251,7 +251,7 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
* only store timezone if it's not overflowing; * only store timezone if it's not overflowing;
* see http://www.worldtimezone.com/faq.html * see http://www.worldtimezone.com/faq.html
*/ */
if (hours < 14 && mins < 59) { if (hours <= 14 && mins <= 59) {
sig->when.offset = (hours * 60) + mins; sig->when.offset = (hours * 60) + mins;
if (tz_start[0] == '-') if (tz_start[0] == '-')
sig->when.offset = -sig->when.offset; sig->when.offset = -sig->when.offset;