Otherwise, errno may hold ERANGE from before.  See strtol(3).

Fixes: d7b36a45fc3f ("[indxbib]: Mitigate Savannah #65452.")
Link: <https://savannah.gnu.org/bugs/?65452>
Cc: "G. Branden Robinson" <bran...@debian.org>
Cc: Dave Kemper <saint.s...@gmail.com>
Cc: "James K. Lowden" <jklow...@schemamania.org>
Cc: Colin Watson <cjwat...@debian.org>
Cc: Werner LEMBERG <w...@gnu.org>
Signed-off-by: Alejandro Colomar <a...@kernel.org>
---
 src/utils/indxbib/indxbib.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/utils/indxbib/indxbib.cpp b/src/utils/indxbib/indxbib.cpp
index c5996c279..6253e4782 100644
--- a/src/utils/indxbib/indxbib.cpp
+++ b/src/utils/indxbib/indxbib.cpp
@@ -338,6 +338,7 @@ static void usage(FILE *stream)
 static void check_integer_arg(char opt, const char *arg, int min, int *res)
 {
   char *ptr;
+  errno = 0;
   long n = strtol(arg, &ptr, 10);
   if (ERANGE == errno)
     fatal("argument to -%1 must be between %2 and %3", arg, min, INT_MAX);
-- 
2.43.0

Attachment: signature.asc
Description: PGP signature

Reply via email to