]> granicus.if.org Git - shadow/commitdiff
Do not allocate more than necessary
authorNicolas François <nicolas.francois@centraliens.net>
Sun, 4 Aug 2013 13:36:13 +0000 (15:36 +0200)
committerNicolas François <nicolas.francois@centraliens.net>
Sun, 4 Aug 2013 13:36:13 +0000 (15:36 +0200)
Review b10cba0e0af5b1e3e8cda0201d5563f085aab2a4 and 7a16f4582da2b854a0adcba445bf6f8d750b2919:
* lib/groupio.c (merge_group_entries): Do not allocate more than
necessary (sizeof char* instead of char).
Thanks for Tomáš Mráz (alioth#313962)
* lib/groupio.c (merge_group_entries): Document that new_members
is correctly NULL terminated. (alioth:#313940)

Align previous ChangeLog entries.

ChangeLog
lib/groupio.c

index fc0631792c62f6d55e9b56826db595ceb90f75d5..8db2d4238d0f19108f35b36866ff233426afd57a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2013-08-04  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * lib/groupio.c (merge_group_entries): Do not allocate more than
+       necessary (sizeof char* instead of char).
+       Thanks for Tomáš Mráz (alioth#313962)
+       * lib/groupio.c (merge_group_entries): Document that new_members
+       is correctly NULL terminated. (alioth:#313940)
+
 2013-08-03  Nicolas François  <nicolas.francois@centraliens.net>
 
        * Changelog: Update documentation of 2013-07-28  mancha entry.
 
 2013-07-29  Brad Hubbard  <badone-guest@alioth.debian.org>
 
-        * lib/groupio.c: add newline char when two lines
-          are concatenated
-         Closes: alioth#313942
+       * lib/groupio.c: add newline char when two lines
+       are concatenated
+       Closes: alioth#313942
        * lib/groupio.c: fix uninitialised memory in
-          merge_group_entries causes segfault in useradd by changing
-         a call to malloc to a call to calloc
-         Closes: alioth:#313940
+       merge_group_entries causes segfault in useradd by changing
+       a call to malloc to a call to calloc
+       Closes: alioth:#313940
 
 2013-07-28  Guido Trentalancia  <guido@trentalancia.com>
 
index 5e89f5d7c3a41d1bfddd2be12eb303edab345a36..137aaea6f3a198c2d6505543c5e8de2f68e104f1 100644 (file)
@@ -330,7 +330,7 @@ static /*@null@*/struct commonio_entry *merge_group_entries (
 
        /* Concatenate the 2 lines */
        new_line_len = strlen (gr1->line) + strlen (gr2->line) +2;
-       new_line = (char *)malloc ((new_line_len + 1) * sizeof(char*));
+       new_line = (char *)malloc (new_line_len + 1);
        if (NULL == new_line) {
                errno = ENOMEM;
                return NULL;
@@ -362,6 +362,8 @@ static /*@null@*/struct commonio_entry *merge_group_entries (
        for (i=0; NULL != gptr1->gr_mem[i]; i++) {
                new_members[i] = gptr1->gr_mem[i];
        }
+       /* NULL termination enforced by above calloc */
+
        members = i;
        for (i=0; NULL != gptr2->gr_mem[i]; i++) {
                char **pmember = new_members;