summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2014-10-20 05:54:56 +0000
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-06-10 12:46:50 +0100
commit4978d7129e42340ab9efeb0cb9cae4ad0fa052d4 (patch)
tree26e5d54377f53d759529f7c454138864f6629051 /main.c
parent9de84c07c0648cde63bfcd2769b07faf86668e1a (diff)
downloadmake-tarball-baserock/make-4.1-ttyname-segfault-fix.tar.gz
* main.c (main): [SV 43434] Handle NULL returns from ttyname().baserock/make-4.1-ttyname-segfault-fix
Diffstat (limited to 'main.c')
-rw-r--r--main.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/main.c b/main.c
index 7f14cba..4163622 100644
--- a/main.c
+++ b/main.c
@@ -1401,13 +1401,18 @@ main (int argc, char **argv, char **envp)
#ifdef HAVE_ISATTY
if (isatty (fileno (stdout)))
if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT")))
- define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)),
- o_default, 0)->export = v_export;
-
+ {
+ const char *tty = TTYNAME (fileno (stdout));
+ define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME,
+ o_default, 0)->export = v_export;
+ }
if (isatty (fileno (stderr)))
if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR")))
- define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)),
- o_default, 0)->export = v_export;
+ {
+ const char *tty = TTYNAME (fileno (stderr));
+ define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME,
+ o_default, 0)->export = v_export;
+ }
#endif
/* Reset in case the switches changed our minds. */