aboutsummaryrefslogtreecommitdiff
path: root/libbutl/builtin.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2021-07-06 16:06:23 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2021-07-06 16:06:23 +0200
commit4cebad3859f8cc4fe526a89ef2277d1db9ee9b7c (patch)
tree980ef15cfa6d2742f28afcbeaaf528d9f3637353 /libbutl/builtin.cxx
parent739c96fc8e0dd5e9889149ece229c5300f3a58fb (diff)
Clear errno before calling strto*() functions
Diffstat (limited to 'libbutl/builtin.cxx')
-rw-r--r--libbutl/builtin.cxx1
1 files changed, 1 insertions, 0 deletions
diff --git a/libbutl/builtin.cxx b/libbutl/builtin.cxx
index a6bb94b..61df568 100644
--- a/libbutl/builtin.cxx
+++ b/libbutl/builtin.cxx
@@ -1929,6 +1929,7 @@ namespace butl
if (!a.empty () && a[0] != '-' && a[0] != '+')
{
char* e (nullptr);
+ errno = 0; // We must clear it according to POSIX.
n = strtoull (a.c_str (), &e, 10); // Can't throw.
if (errno != ERANGE && e == a.c_str () + a.size ())