]> Savannah Git Hosting - gnulib.git/commitdiff
setenv: Don't crash if malloc() returns NULL.
authorBruno Haible <bruno@clisp.org>
Fri, 2 Jun 2023 18:11:36 +0000 (20:11 +0200)
committerBruno Haible <bruno@clisp.org>
Fri, 2 Jun 2023 18:11:36 +0000 (20:11 +0200)
* lib/setenv.c (rpl_setenv): Check malloca() return value.

ChangeLog
lib/setenv.c

index 869096eb4192d16bc60c990ec6ffe54591796905..48fe27441efec06da4e926cd411fb050c219d2d3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-06-02  Bruno Haible  <bruno@clisp.org>
+
+       setenv: Don't crash if malloc() returns NULL.
+       * lib/setenv.c (rpl_setenv): Check malloca() return value.
+
 2023-06-02  Bruno Haible  <bruno@clisp.org>
 
        error: Avoid implicit-fallthrough warnings with -O0 (regr. 2023-05-30).
index f0b889969f55695a6d52bc4a0df5d4625921f4f7..22b12fd01845f6df374f22d0e6ba69c00665786c 100644 (file)
@@ -375,6 +375,11 @@ rpl_setenv (const char *name, const char *value, int replace)
           int saved_errno;
           size_t len = strlen (value);
           tmp = malloca (len + 2);
+          if (tmp == NULL)
+            {
+              errno = ENOMEM;
+              return -1;
+            }
           /* Since leading '=' is eaten, double it up.  */
           *tmp = '=';
           memcpy (tmp + 1, value, len + 1);