ec9e7e7
commit 292da6f6867b75a5af7ddbb639a1feae022f438f
ec9e7e7
Author: Paul Smith <psmith@gnu.org>
ec9e7e7
Date:   Mon Oct 20 01:54:56 2014 -0400
ec9e7e7
ec9e7e7
    * main.c (main): [SV 43434] Handle NULL returns from ttyname().
ec9e7e7
ec9e7e7
diff --git a/main.c b/main.c
ec9e7e7
index b2d169c..0cdb8a8 100644
ec9e7e7
--- a/main.c
ec9e7e7
+++ b/main.c
ec9e7e7
@@ -1429,13 +1429,18 @@ main (int argc, char **argv, char **envp)
ec9e7e7
 #ifdef HAVE_ISATTY
ec9e7e7
     if (isatty (fileno (stdout)))
ec9e7e7
       if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT")))
ec9e7e7
-        define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)),
ec9e7e7
-                               o_default, 0)->export = v_export;
ec9e7e7
-
ec9e7e7
+        {
ec9e7e7
+          const char *tty = TTYNAME (fileno (stdout));
ec9e7e7
+          define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME,
ec9e7e7
+                                 o_default, 0)->export = v_export;
ec9e7e7
+        }
ec9e7e7
     if (isatty (fileno (stderr)))
ec9e7e7
       if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR")))
ec9e7e7
-        define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)),
ec9e7e7
-                               o_default, 0)->export = v_export;
ec9e7e7
+        {
ec9e7e7
+          const char *tty = TTYNAME (fileno (stderr));
ec9e7e7
+          define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME,
ec9e7e7
+                                 o_default, 0)->export = v_export;
ec9e7e7
+        }
ec9e7e7
 #endif
ec9e7e7
 
ec9e7e7
   /* Reset in case the switches changed our minds.  */
ec9e7e7
diff --git a/makeint.h b/makeint.h
ec9e7e7
index 6223936..2009f41 100644
ec9e7e7
--- a/makeint.h
ec9e7e7
+++ b/makeint.h
ec9e7e7
@@ -436,10 +436,11 @@ extern struct rlimit stack_limit;
ec9e7e7
 /* The number of bytes needed to represent the largest integer as a string.  */
ec9e7e7
 #define INTSTR_LENGTH         CSTRLEN ("18446744073709551616")
ec9e7e7
 
ec9e7e7
+#define DEFAULT_TTYNAME "true"
ec9e7e7
 #ifdef HAVE_TTYNAME
ec9e7e7
 # define TTYNAME(_f) ttyname (_f)
ec9e7e7
 #else
ec9e7e7
-# define TTYNAME(_f) "true"
ec9e7e7
+# define TTYNAME(_f) DEFAULT_TTYNAME
ec9e7e7
 #endif
ec9e7e7
 
ec9e7e7