RFR(M): 8170663: Fix minor issues in corelib and servicabilty coding.

Dmitry Samersoff dmitry.samersoff at oracle.com
Tue Dec 6 15:59:26 UTC 2016


Goetz,

For serviceability code, please see comments below:

* src/java.base/share/native/libjli/java.c

No comments

* src/java.base/unix/native/libjli/java_md_solinux.c

Is this line correct?

519             jvmpath = JLI_StringDup(jvmpath);

* src/jdk.jdwp.agent/share/native/libjdwp/SDE.c

It might be better to return immediately if cnt < 0,
regardless of value of sti.

* src/jdk.jdwp.agent/unix/native/libdt_socket/socket_md.c

It might be better to write

  arg.l_linger = (on) ? (unsigned short)value.i : 0;

and leave one copy of setsockopt() call

-Dmitry


On 2016-12-06 16:12, Lindenmaier, Goetz wrote:
> Hi,
> 
>  
> 
> This change fixes some minor issues found in our code scans.
> 
> I hope this correctly addresses corelib and serviceability issues.
> 
>  
> 
> Please review:
> 
> http://cr.openjdk.java.net/~goetz/wr16/8170663-corlib_s11y/webrev.01/
> 
>  
> 
> Best regards,
> 
>   Goetz.
> 
>  
> 
> Changes in detail:
> 
>  
> 
> e_asin.c
> 
> Code scan reports missing {}.
> 
> 
> The code "if (huge+x>one) {" is only there to set the inexact flag of
> the processor.
> It's a way to avoid the C compiler to optimize the code away. It is
> always true,
> so the parenthesis of the outer else don't matter.
> 
> Although this basically just adds the {} I would like to submit this to
> 
> avoid anybody else spends more the 30sec on understanding these
> 
> if statements.
> 
> 
> k_standard.c
> 
> exc.retval is returned below and thus should always be initialized.
> 
> 
> imageDecompressor.cpp
> 
> Wrong destructor is used.  Reported also by David CARLIER
> 
> 
> java.c
> 
> in line 1865 'name' was used, it should be 'alias'.
> 
> 
> java_md_solinux.c
> 
> "//" in path is useless. Further down a free is missing.
> 
> 
> SDE.c
> 
> Call to stratumTableIndex can return negative value if defaultStratumId
> == null.
> 
> 
> socket_md.c
> 
> arg.l_linger is passed to setsockopt uninitialized. Its use is hidden in
> the macros.
> 
> 
> unpack.cpp
> 
> n.slice should not get negative argument for end, which is passed from
> dollar1.
> But dollar1 can get negative where it is set to the result of
> lastIndexOf(DOLLAR_MIN, DOLLAR_MAX, n, dollar2 - 1).
> 


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the core-libs-dev mailing list