]> git.ipfire.org Git - thirdparty/git.git/commit
set errno=0 before strtoX calls
authorKyle Lippincott <spectral@google.com>
Mon, 5 Aug 2024 17:10:07 +0000 (17:10 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 Aug 2024 17:59:20 +0000 (10:59 -0700)
commitb928d57ca9aa7457ec0dee022c1664e8cd606b22
tree04bd3817e53f3c9a4d7e7a4fac1740abe1b2c09b
parent39bf06adf96da25b87c9aa7d35a32ef3683eb4a4
set errno=0 before strtoX calls

To detect conversion failure after calls to functions like `strtod`, one
can check `errno == ERANGE`. These functions are not guaranteed to set
`errno` to `0` on successful conversion, however. Manual manipulation of
`errno` can likely be avoided by checking that the output pointer
differs from the input pointer, but that's not how other locations, such
as parse.c:139, handle this issue; they set errno to 0 prior to
executing the function.

For every place I could find a strtoX function with an ERANGE check
following it, set `errno = 0;` prior to executing the conversion
function.

Signed-off-by: Kyle Lippincott <spectral@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/get-tar-commit-id.c
ref-filter.c
t/helper/test-json-writer.c
t/helper/test-trace2.c