jdk/src/share/native/sun/management/Flag.c
changeset 4915 fe435c741ec8
parent 2 90ce3da70b43
child 5163 e13f471e8dd5
equal deleted inserted replaced
4822:bcc6dbec57d8 4915:fe435c741ec8
    82 {
    82 {
    83     char errmsg[128];
    83     char errmsg[128];
    84 
    84 
    85     jint num_flags, i, index;
    85     jint num_flags, i, index;
    86     jmmVMGlobal* globals;
    86     jmmVMGlobal* globals;
       
    87     size_t gsize;
    87     const char* class_name = "sun/management/Flag";
    88     const char* class_name = "sun/management/Flag";
    88     const char* signature = "(Ljava/lang/String;Ljava/lang/Object;ZZLcom/sun/management/VMOption$Origin;)V";
    89     const char* signature = "(Ljava/lang/String;Ljava/lang/Object;ZZLcom/sun/management/VMOption$Origin;)V";
    89     jobject origin;
    90     jobject origin;
    90     jobject valueObj;
    91     jobject valueObj;
    91     jobject flag;
    92     jobject flag;
    98     if (count == 0) {
    99     if (count == 0) {
    99         JNU_ThrowIllegalArgumentException(env, 0);
   100         JNU_ThrowIllegalArgumentException(env, 0);
   100         return 0;
   101         return 0;
   101     }
   102     }
   102 
   103 
   103     globals = (jmmVMGlobal*) malloc(count * sizeof(jmmVMGlobal));
   104     gsize = count * sizeof(jmmVMGlobal);
       
   105     globals = (jmmVMGlobal*) malloc(gsize);
   104     if (globals == NULL) {
   106     if (globals == NULL) {
   105         JNU_ThrowOutOfMemoryError(env, 0);
   107         JNU_ThrowOutOfMemoryError(env, 0);
   106         return 0;
   108         return 0;
   107     }
   109     }
   108 
   110 
       
   111     memset(globals, 0, gsize);
   109     num_flags = jmm_interface->GetVMGlobals(env, names, globals, count);
   112     num_flags = jmm_interface->GetVMGlobals(env, names, globals, count);
   110     if (num_flags == 0) {
   113     if (num_flags == 0) {
   111         free(globals);
   114         free(globals);
   112         return 0;
   115         return 0;
   113     }
   116     }