From: Matthew Fernandez Date: Fri, 23 Dec 2022 02:55:25 +0000 (-0800) Subject: common late_int: detect and reject int out of range X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=73e95a07be81c41c08a71438de5f977ef7b6b312;p=graphviz common late_int: detect and reject int out of range Squashes a -Wconversion warning. --- diff --git a/lib/common/utils.c b/lib/common/utils.c index e6d1d479a..f435ad0d3 100644 --- a/lib/common/utils.c +++ b/lib/common/utils.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -71,12 +72,12 @@ int late_int(void *obj, attrsym_t *attr, int defaultValue, int minimum) { if (!p || p[0] == '\0') return defaultValue; char *endp; - int rv = strtol(p, &endp, 10); - if (p == endp) + long rv = strtol(p, &endp, 10); + if (p == endp || rv > INT_MAX) return defaultValue; /* invalid int format */ if (rv < minimum) return minimum; - else return rv; + else return (int)rv; } double late_double(void *obj, attrsym_t *attr, double defaultValue,