RFR(S): 8207233: Minor improvements of jdk C-coding

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Fri Jul 13 10:54:35 UTC 2018


Hi,

I ran coverity on the jdk11 jdk sources and want to propose the following fixes. I scanned the linux x86_64 build. Some issues are similar to previous parfait fixes (check for NULL). I also identified some issues I consider real problems.  If you think some are tooo conservative, I'm happy to remove them.
I posted this to core-libs-dev and awt-dev, if you think this should
be discussed on other lists please tell me.

http://cr.openjdk.java.net/~goetz/wr18/8207233-covJDK/01/

In detail:

Real issues: 
 ------------ 

 transport.c 
   Loop overruns the array, it iterates to 8. Only 
   two iterations are intended. 

 Unix.c 
   getgroups can return -1. This is handled below, 
   but not here. Return as for other errors. 

 Useful code improvements. 
 ------------------------- 

 zip_util.c 
   pmsg is compared to null above. Thus, don't 
   dereference it unconditionally below. 
   I would assume pmsg is always != NULL, so that the 
   check above could as well be turned into a guarantee. 
   This fix is more safe, though. 

 fontpath.c 
   This is a real error, but harmless as the same size is 
   returned. 

 pcsc.c 
   If size is 0, mszReaders is not allocated, but accessed 
   below. return if size is 0. 
   Here, too, I would assume that one could turn the if(size) 
   check into a guarantee, but this way it's more safe. 

 ecl_muilt.c 
   This block calls point_mul, which requires the kt.flag 
   is initialized. 

 unpack.cpp 
   lo is checked for null. If it is null, the dereference 
   below fails. 
   Return if lo == Null similar as above. 
   Alternatively, one could turn the if (lo != null) check into 
   a guarantee.


More information about the core-libs-dev mailing list