jdk/src/share/native/sun/management/Flag.c
changeset 4915 fe435c741ec8
parent 2 90ce3da70b43
child 5163 e13f471e8dd5
--- a/jdk/src/share/native/sun/management/Flag.c	Sat Feb 06 09:26:57 2010 -0800
+++ b/jdk/src/share/native/sun/management/Flag.c	Mon Feb 08 23:02:28 2010 -0800
@@ -84,6 +84,7 @@
 
     jint num_flags, i, index;
     jmmVMGlobal* globals;
+    size_t gsize;
     const char* class_name = "sun/management/Flag";
     const char* signature = "(Ljava/lang/String;Ljava/lang/Object;ZZLcom/sun/management/VMOption$Origin;)V";
     jobject origin;
@@ -100,12 +101,14 @@
         return 0;
     }
 
-    globals = (jmmVMGlobal*) malloc(count * sizeof(jmmVMGlobal));
+    gsize = count * sizeof(jmmVMGlobal);
+    globals = (jmmVMGlobal*) malloc(gsize);
     if (globals == NULL) {
         JNU_ThrowOutOfMemoryError(env, 0);
         return 0;
     }
 
+    memset(globals, 0, gsize);
     num_flags = jmm_interface->GetVMGlobals(env, names, globals, count);
     if (num_flags == 0) {
         free(globals);