diff options
Diffstat (limited to 'sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch')
-rw-r--r-- | sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch b/sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch new file mode 100644 index 00000000000..f6be5c9f06a --- /dev/null +++ b/sys-devel/make/files/make-4.1-fix_null_returns_from_ttyname.patch @@ -0,0 +1,53 @@ +From 292da6f6867b75a5af7ddbb639a1feae022f438f Mon Sep 17 00:00:00 2001 +From: Paul Smith <psmith@gnu.org> +Date: Mon, 20 Oct 2014 05:54:56 +0000 +Subject: * main.c (main): [SV 43434] Handle NULL returns from ttyname(). + +--- +diff --git a/main.c b/main.c +index b2d169c..0cdb8a8 100644 +--- a/main.c ++++ b/main.c +@@ -1429,13 +1429,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. */ +diff --git a/makeint.h b/makeint.h +index 6223936..2009f41 100644 +--- a/makeint.h ++++ b/makeint.h +@@ -436,10 +436,11 @@ extern struct rlimit stack_limit; + /* The number of bytes needed to represent the largest integer as a string. */ + #define INTSTR_LENGTH CSTRLEN ("18446744073709551616") + ++#define DEFAULT_TTYNAME "true" + #ifdef HAVE_TTYNAME + # define TTYNAME(_f) ttyname (_f) + #else +-# define TTYNAME(_f) "true" ++# define TTYNAME(_f) DEFAULT_TTYNAME + #endif + + +-- +cgit v0.9.0.2 |