]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
[v4_1_esv] Added allocation failure error messages to two locations
authorThomas Markwalder <tmark@isc.org>
Tue, 20 Jun 2017 11:19:34 +0000 (07:19 -0400)
committerThomas Markwalder <tmark@isc.org>
Tue, 20 Jun 2017 11:19:34 +0000 (07:19 -0400)
    Merges in rt41185.

RELNOTES
client/dhclient.c
common/discover.c

index 57e16ecd5347118975362485a0be33529f9b965b..6adea6c4591a874bd1416466e84ba45a2387041c 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -152,6 +152,10 @@ by Eric Young (eay@cryptsoft.com).
   at TDS Telecom for reporting this issue.
   [ISC-Bugs #35378]
 
+ - Added error logging to two memory allocation failure checks. Thanks to Bill
+   Parker (wp02855 at gmail dot com) for reporting the issue.
+   [ISC-Bugs #41185]
+
                        Changes since 4.1-ESV-R14b1
 - None
 
index 3c140bae7e860e8625583b89e6d2527582f76881..fd5ac2df46a593ff41e4d0270c5664a6d5be249c 100644 (file)
@@ -3465,8 +3465,11 @@ void client_envadd (struct client_state *client,
 
        val = dmalloc (strlen (prefix) + strlen (name) + 1 /* = */ +
                       len + sizeof *val, MDL);
-       if (!val)
+       if (!val) {
+               log_error ("client_envadd: cannot allocate space for variable");
                return;
+       }
+
        s = val -> string;
        strcpy (s, prefix);
        strcat (s, name);
@@ -3476,8 +3479,10 @@ void client_envadd (struct client_state *client,
                va_start (list, fmt);
                vsnprintf (s, len + 1, fmt, list);
                va_end (list);
-       } else
+       } else {
                strcpy (s, spbuf);
+       }
+
        val -> next = client -> env;
        client -> env = val;
        client -> envc++;
index dc02d0a2581489f146a55af31a7e8b538ac4b3a3..706a08c1f4bbfa6cc4d453edce4d08da8361be51 100644 (file)
@@ -3,8 +3,7 @@
    Find and identify the network interfaces. */
 
 /*
- * Copyright (c) 2013-2016 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 2004-2009,2011 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 2004-2017 by Internet Systems Consortium, Inc. ("ISC")
  * Copyright (c) 1995-2003 by Internet Software Consortium
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -1459,8 +1458,11 @@ void interface_stash (struct interface_info *tptr)
                delta = tptr -> index - interface_max + 10;
                vec = dmalloc ((interface_max + delta) *
                               sizeof (struct interface_info *), MDL);
-               if (!vec)
+               if (!vec) {
+                       log_error ("interface_stash: allocation failed ");
                        return;
+               }
+
                memset (&vec [interface_max], 0,
                        (sizeof (struct interface_info *)) * delta);
                interface_max += delta;
@@ -1471,7 +1473,9 @@ void interface_stash (struct interface_info *tptr)
                    dfree (interface_vector, MDL);
                }
                interface_vector = vec;
+
        }
+
        interface_reference (&interface_vector [tptr -> index], tptr, MDL);
        if (tptr -> index >= interface_count)
                interface_count = tptr -> index + 1;