]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
support: Set errno before testing it.
authorCarlos O'Donell <carlos@redhat.com>
Wed, 29 Apr 2020 20:31:29 +0000 (16:31 -0400)
committerCarlos O'Donell <carlos@redhat.com>
Thu, 30 Apr 2020 20:28:07 +0000 (16:28 -0400)
In test-conainer we should set errno to 0 before calling strtol,
and check after with TEST_COMPARE.

In tst-support_capture_subprocess we should set errno to 0 before
checking it after the call to strtol.

Tested on x86_64.

Reviewed-by: DJ Delorie <dj@redhat.com>
support/test-container.c
support/tst-support_capture_subprocess.c

index 08d5195b7e82212fe7f27b57301ad3e3915da6bd..afc23db1489df4b51d92b51159484c478eee19b3 100644 (file)
@@ -940,7 +940,9 @@ main (int argc, char **argv)
            else if (nt == 3 && strcmp (the_words[0], "chmod") == 0)
              {
                long int m;
+               errno = 0;
                m = strtol (the_words[1], NULL, 0);
+               TEST_COMPARE (errno, 0);
                if (chmod (the_words[2], m) < 0)
                    FAIL_EXIT1 ("chmod %s: %s\n",
                                the_words[2], strerror (errno));
index 67bbc1e8ae4d935c9f4177d9e12d5d6f8cb7d851..6094dba49e81ec6ece82a06667c86b824ca10fdb 100644 (file)
@@ -133,7 +133,9 @@ static int
 parse_int (const char *str)
 {
   char *endptr;
-  long int ret = strtol (str, &endptr, 10);
+  long int ret;
+  errno = 0;
+  ret = strtol (str, &endptr, 10);
   TEST_COMPARE (errno, 0);
   TEST_VERIFY (ret >= 0 && ret <= INT_MAX);
   return ret;