Hello,  
   
I would like to propose the change below to  
src/jdk.jdwp.agent/share/native/libjdwp/ModuleReferenceImpl.c native  code so 
that the getName function use ReleaseStringUTFChars() to release  the memory 
obtained using GetStringUTFChars() instead of the current  jvmtiDeallocate() 
method.  
   
This change seems to be inline with documented use of these functions in the 
Oracle documentation for JNI Functions 
(http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html) 
 
   
The code as is seems to cause a potential memory leak as  the memory may not be 
released correctly (as the correct  Release/Deallocate is not being used).  
   
 
 
diff --git  a/src/jdk.jdwp.agent/share/native/libjdwp/ModuleReferenceImpl.c  
b/src/jdk.jdwp.agent/share/native/libjdwp/ModuleReferenceImpl.c
 --- a/src/jdk.jdwp.agent/share/native/libjdwp/ModuleReferenceImpl.c
 +++ b/src/jdk.jdwp.agent/share/native/libjdwp/ModuleReferenceImpl.c
 @@ -57,7 +57,7 @@
     }
     (void)outStream_writeString(out, name);
     if (name != NULL) {
 -        jvmtiDeallocate(name);
 +        JNI_FUNC_PTR(env, ReleaseStringUTFChars)(env, namestr, name);
     }
     return JNI_TRUE;
 } 
 
I originally raised this issue on the core-libs-dev list but they recommended I 
raise it on this list. 
  
I would appreciate any feedback please, and how I would go about obtaining a 
sponsor and contributor    
 
 
  
 
Thanks
 Steve Groeger
 Java Runtimes Development
 IBM Hursley
 IBM United Kingdom Ltd
 Tel: (44) 1962 816911 Mobex: 279990 Mobile: 07718 517 129
 Fax (44) 1962 816800
 Lotus Notes: Steve Groeger/UK/IBM
 Internet: [email protected]  
   
 
Unless stated otherwise above:
 IBM United Kingdom Limited - Registered in England and Wales with number 
741598.
 Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU     
 
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Reply via email to