From ec9e7e7c9cb0ff5b4b6636e633697108bc875dec Mon Sep 17 00:00:00 2001 From: Patsy Franklin Date: Nov 04 2015 21:05:03 +0000 Subject: Resolves: #1277968 - Handle NULL returns from ttyname(). --- diff --git a/make-4.1-rh1277968.patch b/make-4.1-rh1277968.patch new file mode 100644 index 0000000..aded614 --- /dev/null +++ b/make-4.1-rh1277968.patch @@ -0,0 +1,51 @@ +commit 292da6f6867b75a5af7ddbb639a1feae022f438f +Author: Paul Smith +Date: Mon Oct 20 01:54:56 2014 -0400 + + * 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 + + diff --git a/make.spec b/make.spec index e112a08..ae01b55 100644 --- a/make.spec +++ b/make.spec @@ -3,7 +3,7 @@ Summary: A GNU tool which simplifies the build process for users Name: make Epoch: 1 Version: 4.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv3+ Group: Development/Tools URL: http://www.gnu.org/software/make/ @@ -27,6 +27,9 @@ Patch4: make-4.0-err-reporting.patch # The default value of .SHELL_FLAGS is -c. Patch5: make-4.0-weird-shell.patch +# make seg faults when run with no arguments +Patch6: make-4.1-rh1277968.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires(post): /sbin/install-info Requires(preun): /sbin/install-info @@ -56,6 +59,7 @@ The make-devel package contains gnumake.h. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 rm -f tests/scripts/features/parallelism.orig @@ -105,6 +109,10 @@ fi %{_includedir}/gnumake.h %changelog +* Wed Nov 4 2015 Patsy Franklin 1:4.1-4 +- Handle NULL returns from ttyname() Upstream Bug 43434. + Resolves: #1277968 + * Thu Oct 29 2015 Patsy Franklin 1:4.1-3 - Enable Guile support.