From: Baptiste Daroussin Date: Thu, 16 Dec 2021 16:39:16 +0000 (+0100) Subject: strtoim: imporve robustness X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=985430398e4e78aa829bb7019d80801feaadbf3f;p=thirdparty%2Fmlmmj.git strtoim: imporve robustness --- diff --git a/src/utils.c b/src/utils.c index d139253b..661acb13 100644 --- a/src/utils.c +++ b/src/utils.c @@ -34,7 +34,7 @@ strtoim(const char *np, intmax_t minval, intmax_t maxval, const char **errpp) intmax_t ret; *errpp = NULL; - if (minval > maxval) { + if (minval > maxval || np == NULL) { errno = EINVAL; *errpp = "invalid"; return (0); diff --git a/tests/mlmmj.c b/tests/mlmmj.c index 63c7f900..78ba9d92 100644 --- a/tests/mlmmj.c +++ b/tests/mlmmj.c @@ -300,6 +300,10 @@ ATF_TC_BODY(mybasename, tc) ATF_TC_BODY(strtoim, tc) { const char *errp; + + ATF_REQUIRE_EQ(strtoim(NULL, 0, 10, &errp), 0); + ATF_REQUIRE(errp != NULL); + ATF_REQUIRE_STREQ(errp, "invalid"); ATF_REQUIRE_EQ(strtoim("10", 0, 10, &errp), 10); ATF_CHECK(errp == NULL); ATF_REQUIRE_EQ(strtoim("10", 0, 9, &errp), 0);