[rtems commit] tools/cpu/nios2/ptf.c: Fix leak of memory pointed to by new_prefix

Joel Sherril joel at rtems.org
Thu Sep 3 17:34:10 UTC 2015


Module:    rtems
Branch:    4.11
Commit:    631d2548fa350baef738b15e2db9bf180ae22e41
Changeset: http://git.rtems.org/rtems/commit/?id=631d2548fa350baef738b15e2db9bf180ae22e41

Author:    Martin Galvan <martin.galvan at tallertechnologies.com>
Date:      Wed Sep  2 16:54:23 2015 -0500

tools/cpu/nios2/ptf.c: Fix leak of memory pointed to by new_prefix

Updates #2405.

---

 tools/cpu/nios2/ptf.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/tools/cpu/nios2/ptf.c b/tools/cpu/nios2/ptf.c
index 7a31c11..07d6183 100644
--- a/tools/cpu/nios2/ptf.c
+++ b/tools/cpu/nios2/ptf.c
@@ -567,17 +567,21 @@ void ptf_printf(FILE *s, struct ptf *tree, char *prefix)
           new_prefix_len += strlen(leaf->value) + 1;
         };
         new_prefix = (char *)malloc(new_prefix_len);
-        strcpy(new_prefix, prefix);
-        strcat(new_prefix, leaf->name);
-        if(leaf->value != NULL && leaf->value[0] != 0)
+        if (new_prefix != NULL)
         {
-          strcat(new_prefix, ":");
-          strcat(new_prefix, leaf->value);
-        };
-        strcat(new_prefix, "/");
-        fputs(new_prefix, s);
-        fputs("\n", s);
-        ptf_printf(s, leaf->sub, new_prefix);
+          strcpy(new_prefix, prefix);
+          strcat(new_prefix, leaf->name);
+          if(leaf->value != NULL && leaf->value[0] != 0)
+          {
+            strcat(new_prefix, ":");
+            strcat(new_prefix, leaf->value);
+          };
+          strcat(new_prefix, "/");
+          fputs(new_prefix, s);
+          fputs("\n", s);
+          ptf_printf(s, leaf->sub, new_prefix);
+          free(new_prefix);
+        }
         break;
       };
 



More information about the vc mailing list