RFR 9: 8081567 : java/lang/ProcessHandle/InfoTest.java failed Cannot run program "whoami"

Roger Riggs Roger.Riggs at Oracle.com
Wed Jun 3 22:13:58 UTC 2015


Hi Ivan,

Thanks for the cleanup suggestions.

Roger


On 6/3/2015 5:58 PM, Ivan Gerasimov wrote:
> Thanks!
>
> ------------------
> test/java/lang/ProcessHandle/InfoTest.java
> ------------------
> Looks good
>
>
> ------------------
> src/java.base/windows/native/libjava/ProcessHandleImpl_win.c
> ------------------
> The changes look good to me!
> I guess it does have more sense to use StringSID if the length of user 
> name of domain exceeds 256 chars.
>
>>
>> Corrections updated in place:
>> http://cr.openjdk.java.net/~rriggs/webrev-whoami-8081567/
>>
>>> To be extra-safe we could check GetLastError() for ERROR_NONE_MAPPED 
>>> and in such rare cases allocate the buffers dynamically.
>> I don't see that NONE_MAPPED is associated with the output buffers.
>>
>
> Yes, my mistake.  That's output value of domainLen and nameLen that 
> have to be analyzed to detect 'buffer is too small' condition.
> But I think, what you have is fine.
>
>
> A couple of minor nits.
> I would be just a little bit happier, if it were
>  397     WCHAR domain[255 + 1 + 255 + 1];    // large enough to concat 
> with '/' and name
>  398     WCHAR name[255 *+ 1*];
>  399     DWORD domainLen = *sizeof(domain) - sizeof(name)*;
>
> Otherwise, we would never use the last char of 'domain' :-)
>
> You may want to remove the extra space in the signature of 
> procToUser(_ ), in both the forward declaration and definition.
>
> Sincerely yours,
> Ivan
>




More information about the core-libs-dev mailing list