Avoid fall-through in test-container if execlp fails.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 13 Feb 2019 13:34:24 +0000 (13:34 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 13 Feb 2019 13:34:24 +0000 (13:34 +0000)
One of the implicit-fallthrough warnings from compiling glibc with
-Wextra appears to indicate an actual bug: the test-container code
could fall through inappropriately if execlp returns (which only
occurs on error).  This patch adds appropriate error handling in this
case to avoid that fall-through.

Tested for x86_64.

* support/test-container.c (recursive_remove): Use FAIL_EXIT1 if
execlp returns.

ChangeLog
support/test-container.c

index 56f3007..4279eee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-02-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * support/test-container.c (recursive_remove): Use FAIL_EXIT1 if
+       execlp returns.
+
 2019-02-12  Wilco Dijkstra  <wdijkstr@arm.com>
 
        * benchtests/bench-strcasecmp.c (stupid_strcasecmp): Remove.
index a24b24c..ed911e3 100644 (file)
@@ -361,6 +361,7 @@ recursive_remove (char *path)
   case 0:
     /* Child.  */
     execlp ("rm", "rm", "-rf", path, NULL);
+    FAIL_EXIT1 ("exec rm: %m");
   default:
     /* Parent.  */
     waitpid (child, &status, 0);