]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[libgfortran] Fix uninitialized variable use in fallback_access
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 18 Sep 2018 09:02:14 +0000 (09:02 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 18 Sep 2018 09:02:14 +0000 (09:02 +0000)
Backport from trunk
2018-09-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* io/unix.c (fallback_access): Avoid calling close on
uninitialized file descriptor.

From-SVN: r264384

libgfortran/ChangeLog
libgfortran/io/unix.c

index afe561b2162dacc62f8ad9cfc0132e92f656c35c..004b25865b6163df071f02ff68ac9c8a13674177 100644 (file)
@@ -1,3 +1,11 @@
+2018-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       Backport from trunk
+       2018-09-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * io/unix.c (fallback_access): Avoid calling close on
+       uninitialized file descriptor.
+
 2018-06-22  Jakub Jelinek  <jakub@redhat.com>
 
        Backported from mainline
index bb9bc9a5c1251e11035ca2acd7d364ae90add24f..993797e6d1f882f30800b761d85a294cf312a9ae 100644 (file)
@@ -149,13 +149,21 @@ fallback_access (const char *path, int mode)
 {
   int fd;
 
-  if ((mode & R_OK) && (fd = open (path, O_RDONLY)) < 0)
-    return -1;
-  close (fd);
+  if (mode & R_OK)
+    {
+      if ((fd = open (path, O_RDONLY)) < 0)
+       return -1;
+      else
+       close (fd);
+    }
 
-  if ((mode & W_OK) && (fd = open (path, O_WRONLY)) < 0)
-    return -1;
-  close (fd);
+  if (mode & W_OK)
+    {
+      if ((fd = open (path, O_WRONLY)) < 0)
+       return -1;
+      else
+       close (fd);
+    }
 
   if (mode == F_OK)
     {