diff --git a/src/libutil/util.hh b/src/libutil/util.hh index cf93c6378..a889ef2f1 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -8,7 +8,7 @@ #include #include #include - +#include #include #ifndef HAVE_STRUCT_DIRENT_D_TYPE @@ -359,6 +359,8 @@ bool statusOk(int status); /* Parse a string into an integer. */ template bool string2Int(const string & s, N & n) { + if (string(s, 0, 1) == "-" && !std::numeric_limits::is_signed) + return false; std::istringstream str(s); str >> n; return str && str.get() == EOF;