diff options
author | Jeff King <peff@peff.net> | 2013-09-08 04:36:42 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-09-09 11:06:38 -0700 |
commit | 33fdd77e2b8ece3490982f9a35c8669d16879ba8 (patch) | |
tree | 4fdf8bc8a5dc3db299108feb14bf7aaf4c5b2071 /compat/unsetenv.c | |
parent | config: properly range-check integer values (diff) | |
download | tgif-33fdd77e2b8ece3490982f9a35c8669d16879ba8.tar.xz |
config: set errno in numeric git_parse_* functions
When we are parsing an integer or unsigned long, we use
the strto*max functions, which properly set errno to ERANGE
if we get a large value. However, we also do further range
checks after applying our multiplication factor, but do not
set ERANGE. This means that a caller cannot tell if an error
was caused by ERANGE or if the input was simply not a valid
number.
This patch teaches git_parse_signed and git_parse_unsigned to set
ERANGE for range errors, and EINVAL for other errors, so that the
caller can reliably tell these cases apart.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/unsetenv.c')
0 files changed, 0 insertions, 0 deletions