netif_utils: correctly close fd on read error master
authorChristian Marangi <ansuelsmth@gmail.com>
Mon, 29 May 2023 15:07:54 +0000 (17:07 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Mon, 29 May 2023 15:07:54 +0000 (17:07 +0200)
Fix Coverity Scan CID 1521069 reporting leaking fd on read error.
Refactor the read error handling and correctly close fd on read error.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
netif_utils.c

index a842bf7f337934f87694f0e985b6e7a738cd4a22..2bf59c4ea6f39f321fd522384a670bee6f376b88 100644 (file)
@@ -143,7 +143,10 @@ static int get_port_file(const char *if_name, const char *file)
     long res = -1;
     TSTM((fd = open(path, O_RDONLY)) >= 0, -1, "%m");
     int l;
-    TSTM((l = read(fd, buf, sizeof(buf) - 1)) >= 0, -1, "%m");
+    if((l = read(fd, buf, sizeof(buf) - 1)) < 0) {
+        ERROR("Failed to read file %s: error %m", file);
+        return -1;
+    }
     if(0 == l)
     {
         ERROR("Empty %s file", file);