bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] check file descriptor validity


From: Matteo Croce
Subject: [PATCH] check file descriptor validity
Date: Mon, 30 Sep 2024 15:50:53 +0200

From: Matteo Croce <teknoraver@meta.com>

A missing safety check trigger this warning (which become
an errow with -Werror):

  system.c: In function ‘sys_exec_info_script’:
  system.c:841:12: error: use of possibly-NULL ‘fp’ where non-null expected
                          [CWE-690] [-Werror=analyzer-possible-null-argument]
    841 |       rc = getline (&buf, &size, fp);
        |            ^~~~~~~~~~~~~~~~~~~~~~~~~

Fix it by checking the file descriptor validity and bail out on error.
---
 src/system.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/system.c b/src/system.c
index d349bd67..a912cb67 100644
--- a/src/system.c
+++ b/src/system.c
@@ -838,6 +838,12 @@ sys_exec_info_script (const char **archive_name, int 
volume_number)
 
       xclose (p[PWRITE]);
       fp = fdopen (p[PREAD], "r");
+      if (!fp)
+       {
+         signal (SIGPIPE, saved_handler);
+         waitpid_error (info_script_option);
+         return -1;
+       }
       rc = getline (&buf, &size, fp);
       fclose (fp);
 
-- 
2.46.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]