If SKALIBS_HASPOSIXSPAWN is not defined and (n == 0), then we can easily end
up calling fd_close() on error handling, since 'p' is never inited when n is 0.

Found by Clang's scan-build.
---
 src/libstddjb/child_spawn.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/libstddjb/child_spawn.c b/src/libstddjb/child_spawn.c
index a9938c7..0f08c3c 100644
--- a/src/libstddjb/child_spawn.c
+++ b/src/libstddjb/child_spawn.c
@@ -183,8 +183,8 @@ pid_t child_spawn (char const *prog, char const *const 
*argv, char const *const
  errsp0:
   fd_close(syncpipe[0]) ;
 #endif
-  i = n ;
  errp:
+  i = n ;
   while (i--)
   {
     fd_close(p[i][1]) ;
-- 
2.1.4

Reply via email to