From 9ec5a9d7708c62ef73ea19ca0266c84191ff8839 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Sun, 8 Jan 2017 22:10:58 -0800
Subject: [PATCH] getprogname: fix port to IRIX

* lib/getprogname.c (getprogname) [__sgi]:
Don't dump core if malloc returns NULL.
---
 ChangeLog         | 4 ++++
 lib/getprogname.c | 7 +++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 79475df1cf..0d6042226f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
 
+	getprogname: fix port to IRIX
+	* lib/getprogname.c (getprogname) [__sgi]:
+	Don't dump core if malloc returns NULL.
+
 	dfa: fix reallocation bug when matching newlines
 	Problem reported for sed by S. Gilles (Bug#25390).
 	* lib/dfa.c (realloc_trans_if_necessary): Move earlier.
diff --git a/lib/getprogname.c b/lib/getprogname.c
index 729f01ed54..abc03ec2b2 100644
--- a/lib/getprogname.c
+++ b/lib/getprogname.c
@@ -169,8 +169,11 @@ getprogname (void)
           char *namenul = memchr (name, '\0', namesize);
           size_t namelen = namenul ? namenul - name : namesize;
           char *namecopy = malloc (namelen + 1);
-          namecopy[namelen] = 0;
-          return memcpy (namecopy, name, namelen);
+          if (namecopy)
+            {
+              namecopy[namelen] = 0;
+              return memcpy (namecopy, name, namelen);
+            }
         }
     }
   return NULL;
-- 
2.39.5