X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Futils%2Ftap%2Ftap.c;h=c92c14140e4404b5e506d3571e9029715b8863d2;hb=01076722667ada7b84d366c26977f014aefd3ebc;hp=1ef417fed34a70b4897918815c2c783db4840fd5;hpb=b26c3b64ce249d0d1f8055519cd648d1a0bcc0da;p=lttng-tools.git diff --git a/tests/utils/tap/tap.c b/tests/utils/tap/tap.c index 1ef417fed..c92c14140 100644 --- a/tests/utils/tap/tap.c +++ b/tests/utils/tap/tap.c @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -183,11 +184,22 @@ void _tap_init(void) with Test::Harness */ setbuf(stdout, 0); - char *autotime_env = getenv("TAP_AUTOTIME"); - if (autotime_env != NULL) { - time_tests = atoi(autotime_env); - if (time_tests != 0) { - time_tests = 1; + /* + * Check if the TAP_AUTOTIME environment variable is set and + * contains at least one byte. + */ + const char *autotime_env = getenv("TAP_AUTOTIME"); + if (autotime_env != NULL && strnlen(autotime_env, 1)) { + int tap_autotime; + + /* + * Check if TAP_AUTOTIME is '0', also check errno + * because strtol() can return '0' on error. + */ + errno = 0; + tap_autotime = strtol(autotime_env, NULL, 10); + if (tap_autotime == 0 && errno == 0) { + time_tests = 0; } }