freedreno: Check file descriptor before write.
authorVinson Lee <vlee@freedesktop.org>
Fri, 11 Sep 2020 23:00:07 +0000 (16:00 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 14 Sep 2020 22:38:47 +0000 (22:38 +0000)
Fix defect reported by Coverity Scan.

Argument cannot be negative (NEGATIVE_RETURNS)
negative_returns: fd is passed to a parameter that cannot be
negative.

Fixes: 1ea4ef0d3be8 ("freedreno: slurp in decode tools")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6696>

src/freedreno/decode/cffdec.c

index a790ca2..b698e23 100644 (file)
@@ -403,8 +403,10 @@ dump_shader(const char *ext, void *buf, int bufsz)
                int fd;
                sprintf(filename, "%04d.%s", n++, ext);
                fd = open(filename, O_WRONLY| O_TRUNC | O_CREAT, 0644);
-               write(fd, buf, bufsz);
-               close(fd);
+               if (fd != -1) {
+                       write(fd, buf, bufsz);
+                       close(fd);
+               }
        }
 }