diff options
author | Joseph Myers <joseph@codesourcery.com> | 2019-02-13 13:34:24 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2019-02-13 13:34:24 +0000 |
commit | 86140c6223b5d14d773cf3050ffd0d14977c2c2d (patch) | |
tree | 4a046647a5946527009fdc5b0812c1b70fe176a4 | |
parent | 16f87cfd630522afe745a0cf665287b8fe206cf4 (diff) | |
download | glibc-86140c6223b5d14d773cf3050ffd0d14977c2c2d.tar glibc-86140c6223b5d14d773cf3050ffd0d14977c2c2d.tar.gz glibc-86140c6223b5d14d773cf3050ffd0d14977c2c2d.tar.bz2 glibc-86140c6223b5d14d773cf3050ffd0d14977c2c2d.zip |
Avoid fall-through in test-container if execlp fails.
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.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | support/test-container.c | 1 |
2 files changed, 6 insertions, 0 deletions
@@ -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. diff --git a/support/test-container.c b/support/test-container.c index a24b24c03b..ed911e33f9 100644 --- a/support/test-container.c +++ b/support/test-container.c @@ -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); |