John,

Good work! Thank you for doing it.

Looks good for me!

-Dmitry


On 2012-10-23 12:56, John Zavgren wrote:
> Greetings:
> I've modified the procedure 
> "Java_com_sun_security_auth_module_UnixSystem_getUnixInfo" so that all four 
> GetFieldID calls must be successful before it attempts to call "Set" methods. 
> This new program logic ensures that this procedure returns successfully if 
> and only if all the information about a user can be successfully retrieved. 
> And, of course, the memory leak is fixed also.
> 
> The new webrev is: http://cr.openjdk.java.net/~khazra/john/8000204/webrev.01/
> 
> Thanks!
> John Zavgren
> 
> 
> ----- Original Message -----
> From: dmitry.samers...@oracle.com
> To: john.zavg...@oracle.com
> Cc: security-dev@openjdk.java.net
> Sent: Monday, October 22, 2012 4:53:56 AM GMT -05:00 US/Canada Eastern
> Subject: Re: Memory leak fix for: 
> src/solaris/native/com/sun/security/auth/module/Unix.c
> 
> John,
> 
> Sorry for being later. Again, it's not to your changes but as well as
> you are touching this code.
> 
> 88, 103, 118: Type-o - we are checking for uid,gid,groups field,
>     but exception says "invalid field: username" in all cases.
> 
>     It's better to fix it as well.
> 
> ??: Does it make sense to abort after (*env)->ThrowNew(...) ?
> 
> -Dmitry
> 
> 
> On 2012-10-20 00:28, John Zavgren wrote:
>> Greetings:
>> The following webrev image contains a fix for a memory leak that occurs in 
>> the procedure: Java_com_sun_security_auth_module_UnixSystem_getUnixInfo 
>> (JNIEnv *env, jobject obj) in the file: 
>> jdk/src/solaris/native/com/sun/security/auth/module/Unix.c
>>
>> http://cr.openjdk.java.net/~khazra/john/8000204/webrev/
>>
>> The leaked memory is associated with the pointer named "groups": gid_t 
>> *groups = (gid_t *)calloc(numSuppGroups, sizeof(gid_t));id 
>>
>> The procedure in question exits in many places and in every case it's 
>> necessary to deallocate this memory. The leak occurred because returns were 
>> being made without freeing it. I fixed the leak by modifying the code so 
>> that there is a common "exit point", that is reached from these same places 
>> via goto statements, that performs this common function, immediately before 
>> the "return" statement.
>>
>> Thanks!
>> John Zavgren
>> john.zavg...@oracle.com
>>
> 
> 


-- 
Dmitry Samersoff
Java Hotspot development team, SPB04
* There will come soft rains ...

Reply via email to