changeset 6692:976e1f2aa48e

8005921, PR3702: Memory leaks in vmStructs.cpp Reviewed-by: dholmes, mikael, rasbold Contributed-by: Jeremy Manson <jeremymanson@google.com>
author dholmes
date Thu, 10 Jan 2013 21:00:11 -0500
parents 64a47bb28534
children ac58063ca713
files src/share/vm/runtime/vmStructs.cpp
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/runtime/vmStructs.cpp	Fri Oct 10 14:48:30 2014 +0200
+++ b/src/share/vm/runtime/vmStructs.cpp	Thu Jan 10 21:00:11 2013 -0500
@@ -3199,10 +3199,10 @@
     s[len-1] = '\0';
     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
     if (recursiveFindType(origtypes, s, true) == 1) {
-      delete s;
+      delete [] s;
       return 1;
     }
-    delete s;
+    delete [] s;
   }
   if (strstr(typeName, "GrowableArray<") == typeName) {
     const char * start = typeName + strlen("GrowableArray<");
@@ -3213,10 +3213,10 @@
     s[len-1] = '\0';
     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
     if (recursiveFindType(origtypes, s, true) == 1) {
-      delete s;
+      delete [] s;
       return 1;
     }
-    delete s;
+    delete [] s;
   }
   if (strstr(typeName, "const ") == typeName) {
     const char * s = typeName + strlen("const ");
@@ -3230,8 +3230,10 @@
     s[len - 6] = '\0';
     // tty->print_cr("checking \"%s\" for \"%s\"", s, typeName);
     if (recursiveFindType(origtypes, s, true) == 1) {
+      free(s);
       return 1;
     }
+    free(s);
   }
   if (!isRecurse) {
     tty->print_cr("type \"%s\" not found", typeName);