Avoid leaking a file descriptor in test-unwind
authorMike Gran <spk121@yahoo.com>
Sun, 10 Feb 2019 00:39:19 +0000 (16:39 -0800)
committerMike Gran <spk121@yahoo.com>
Sun, 10 Feb 2019 00:39:19 +0000 (16:39 -0800)
* test-suite/standalone/test-unwind.c (check_ports): explicitly close temp file

test-suite/standalone/test-unwind.c

index 3aa3e159d34f38e3dd63ed5032aac5b29823f56a..2749af27649f63d687d6135ec4e88d00b547d02b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2008, 2009, 2010, 2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2008, 2009, 2010, 2013, 2019 Free Software Foundation, Inc.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -200,6 +200,7 @@ check_ports ()
 #define FILENAME_TEMPLATE "/check-ports.XXXXXX"
   char *filename;
   const char *tmpdir = getenv ("TMPDIR");
+  int fd;
 #ifdef __MINGW32__
   extern int mkstemp (char *);
 
@@ -221,8 +222,10 @@ check_ports ()
 
   /* Sanity check: Make sure that `filename' is actually writeable.
      We used to use mktemp(3), but that is now considered a security risk.  */
-  if (0 > mkstemp (filename))
+  fd = mkstemp (filename);
+  if (fd < 0)
     exit (EXIT_FAILURE);
+  close (fd);
 
   scm_dynwind_begin (0);
   {