Hi Phil, that would be great, unfortunately I don't have access to JPRT.
Thanks, Goetz. > -----Original Message----- > From: Phil Race [mailto:philip.r...@oracle.com] > Sent: Friday, December 02, 2016 8:46 PM > To: Lindenmaier, Goetz <goetz.lindenma...@sap.com>; Sergey Bylokhov > <sergey.bylok...@oracle.com> > Cc: awt-dev@openjdk.java.net; 2d-dev <2d-...@openjdk.java.net> > Subject: Re: [OpenJDK 2D-Dev] <AWT Dev> RFR(M): 8170525: Fix minor > issues in awt coding > > I had no other comments, except that it would be good to be sure > that this builds on all relevant platforms .. using the 'blessed' compilers. > If you like I can submit a JPRT job for you based on this patch. > > -phil. > > On 12/01/2016 11:58 PM, Lindenmaier, Goetz wrote: > > Hi Phil, > > > > I added the initialization to the other function. > > http://cr.openjdk.java.net/~goetz/wr16/8170525-awt-dev/webrev.04/ > > > > I missed that because Coverity didn't complain. > > It's not a perfect tool, but it finds sufficient issues > > to make it worthwhile. Is the other awt code fine? > > > > Best regards, > > Goetz. > > > > > > > >> -----Original Message----- > >> From: Phil Race [mailto:philip.r...@oracle.com] > >> Sent: Donnerstag, 1. Dezember 2016 22:31 > >> To: Lindenmaier, Goetz <goetz.lindenma...@sap.com>; Sergey Bylokhov > >> <sergey.bylok...@oracle.com>; Vincent Ryan > <vincent.x.r...@oracle.com> > >> Cc: awt-dev@openjdk.java.net; 2d-dev <2d-...@openjdk.java.net>; > security- > >> d...@openjdk.java.net > >> Subject: Re: [OpenJDK 2D-Dev] <AWT Dev> RFR(M): 8170525: Fix minor > issues > >> in awt coding > >> > >> Sorry. it is > >> ops->GetRasInfo(env, ops, lockInfo); > >> that initialises it .. > >> > >> > >> That is still before the dereference > >> Anyway, what was the reason for updating one function, but not the > other. > >> I don't mind the change, but the inconsistency looks odd. > >> > >> -phil. > >> > >> On 12/01/2016 03:03 AM, Lindenmaier, Goetz wrote: > >>> Hi Phil, > >>> > >>>> Did you actually compile this ? The variable is called "rasBase", not > >>>> "resBase". > >>> Yes, I compiled it, and I fixed the error, but that was another repo > >>> I use for the coverity checks. Somehow it did not find its way into > >>> the webrev. > >>> > >>> I don't see where ops->Lock() initializes this field. > >>> ops->GetRasInfo(env, ops, lockInfo); does so if it resolves > >>> to BufImg_GetRasInfo(). I can't look in our code scan results > >>> because the issue is gone after fixing it, that lists the path > >>> of execution that leads to the issue. > >>> If you are sure this is correct I will remove the initialization, > >>> else I will also put it into the other method. > >>> > >>> DBN_GetPixelPointer checks lockInfo->rasBase for NULL and > >>> does what looks like the error case if it's NULL. Therefore NULL > >>> seemed a good initialization to me. > >>> > >>> Best regards, > >>> Goetz. > >>> > >>> > >>> > >>>> -----Original Message----- > >>>> From: Phil Race [mailto:philip.r...@oracle.com] > >>>> Sent: Mittwoch, 30. November 2016 20:59 > >>>> To: Sergey Bylokhov <sergey.bylok...@oracle.com>; Lindenmaier, > Goetz > >>>> <goetz.lindenma...@sap.com>; Vincent Ryan > <vincent.x.r...@oracle.com> > >>>> Cc: awt-dev@openjdk.java.net; 2d-dev <2d-...@openjdk.java.net>; > security- > >>>> d...@openjdk.java.net > >>>> Subject: Re: [OpenJDK 2D-Dev] <AWT Dev> RFR(M): 8170525: Fix minor > >> issues > >>>> in awt coding > >>>> > >>>> Hi Goetz, > >>>> > >>>>> DataBufferNative.c > >>>>> Using uninitialized value lockInfo.rasBase when calling > >> DBN_GetPixelPointer. > >>>> 75 lockInfo.resBase = NULL; > >>>> > >>>> Did you actually compile this ? The variable is called "rasBase", not > >>>> "resBase". > >>>> > >>>> And strictly there is no problem since inside DBN_GetPixelPointer > >>>> the code calls ops->Lock which should initialise this. > >>>> A "rasBase" of 0 isn't really any better than a random one .. > >>>> > >>>> Also I don't see why there's a problem here and not in > >>>> the function immediately following since it is the exact same case. > >>>> > >>>> -phil. > >>>> > >>>> On 11/30/2016 10:00 AM, Sergey Bylokhov wrote: > >>>>> cc 2d-dev. > >>>>> > >>>>> On 30.11.16 18:41, Lindenmaier, Goetz wrote: > >>>>>> Hi Vincent, > >>>>>> > >>>>>> thanks for the quit review! > >>>>>> Good catch that I lost the change to p11_mutex.c ... I had to change > >>>>>> it and it fell out of my patches. > >>>>>> I edited the Last Modified Date, and also updated the copyright > >>>>>> messages. > >>>>>> New webrev: > >>>>>> http://cr.openjdk.java.net/~goetz/wr16/8170525-awt-dev/ > >>>>>> > >>>>>> Best regards, > >>>>>> Goetz. > >>>>>> > >>>>>> (Am I correct that your openJdk name is Vinnie?) > >>>>>> > >>>>>>> -----Original Message----- > >>>>>>> From: Vincent Ryan [mailto:vincent.x.r...@oracle.com] > >>>>>>> Sent: Mittwoch, 30. November 2016 14:53 > >>>>>>> To: Lindenmaier, Goetz <goetz.lindenma...@sap.com> > >>>>>>> Cc: awt-dev@openjdk.java.net; security-...@openjdk.java.net > >>>>>>> Subject: Re: RFR(M): 8170525: Fix minor issues in awt coding > >>>>>>> > >>>>>>> Hello Goetz, > >>>>>>> > >>>>>>> Please modify the bug summary to reference ECC too. > >>>>>>> Your ECC changes look fine but the ‘Last Modified Date’ line in the > >>>>>>> 4 source > >>>>>>> code headers will need to be updated/added. > >>>>>>> > >>>>>>> BTW p11_mutex.c is listed below but appears to be missing from > the > >>>>>>> webrev. > >>>>>>> > >>>>>>> Thanks. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> On 30 Nov 2016, at 13:12, Lindenmaier, Goetz > >>>>>>> <goetz.lindenma...@sap.com > <mailto:goetz.lindenma...@sap.com> > > >>>> wrote: > >>>>>>> Hi, > >>>>>>> > >>>>>>> I’d like to propose a row of smaller fixes where code is noted > >>>>>>> down a > >>>>>>> bit questionable. > >>>>>>> SAP’s quality process requires that we fix these in our internal > >>>>>>> delivery, > >>>>>>> and I > >>>>>>> Would like to share my fixes with openJdk. Some of these fixes > >>>>>>> are of > >>>>>>> more > >>>>>>> theoretical nature as how I understand the code paths never > >>>>>>> allow the > >>>>>>> problematic situation, but fixing it nevertheless assures that > >>>>>>> nothing is > >>>>>>> overseen if the code changes. Most changes are in libawt_xawt, > >>>>>>> some > >>>>>>> are in libsunec. > >>>>>>> > >>>>>>> I’d appreciate a review: > >>>>>>> http://cr.openjdk.java.net/~goetz/wr16/8170525- > awt/webrev.01/ > >>>>>>> > >>>>>>> Changes in detail: > >>>>>>> > >>>>>>> awt_InputMethod.c: > >>>>>>> > >>>>>>> One might overrun the 100 byte fixed-size string > >>>>>>> statusWindow->status > >>>>>>> by copying text->string.multi_byte without checking the length. > >>>>>>> > >>>>>>> gtk3_interface.c: > >>>>>>> > >>>>>>> This less-than-zero comparison of an unsigned value is never > true. > >>>>>>> > >>>>>>> Using uninitialized value color. Field color.alpha is > >>>>>>> uninitialized. > >>>>>>> E.g. used at gtk3_interface.c:2287. > >>>>>>> > >>>>>>> XToolkit.c > >>>>>>> > >>>>>>> Using uninitialized value ret_timeout. > >>>>>>> E.g. in XToolkit.c:6809. > >>>>>>> > >>>>>>> XWindow.c > >>>>>>> > >>>>>>> Argument is incompatible with corresponding format string > >>>>>>> conversion. > >>>>>>> > >>>>>>> splashscreen_sys.c > >>>>>>> > >>>>>>> Overflowed or truncated value (or a value computed from an > >>>>>>> overflowed or truncated value) (gdk_scale > 0) ? native_scale * > >>>>>>> (double)gdk_scale : native_scale used as return value. > >>>>>>> > >>>>>>> ec.c > >>>>>>> > >>>>>>> Using uninitialized value k.dp when calling mp_clear. > >>>>>>> > >>>>>>> ecdecode.c > >>>>>>> > >>>>>>> You might overrun the 291 byte fixed-size string genenc by > copying > >>>>>>> curveParams->geny without checking the length. > >>>>>>> Added sanity check before doing the string concatenation. > >>>>>>> > >>>>>>> ecl_mult.c > >>>>>>> > >>>>>>> Using uninitialized value kt.flag when calling > >>>>>>> *group->point_mul. (The > >>>>>>> function pointer resolves to ec_GF2m_pt_mul_mont.) > >>>>>>> > >>>>>>> mpi.c > >>>>>>> > >>>>>>> Using uninitialized value s. Field s.flag is uninitialized when > >>>>>>> calling > >>>>>>> s_mp_exch. > >>>>>>> Using uninitialized value tmp. Field tmp.flag is uninitialized > >>>>>>> when > >>>>>>> calling s_mp_exch > >>>>>>> Using uninitialized value t.dp when calling mp_clear. > >>>>>>> > >>>>>>> p11_mutex.c > >>>>>>> > >>>>>>> Using uninitialized value *ckpInitArgs. Field > >>>>>>> ckpInitArgs->flags is > >>>>>>> uninitialized when calling memcpy. > >>>>>>> > >>>>>>> > >>>>>>> DataBufferNative.c > >>>>>>> > >>>>>>> Using uninitialized value lockInfo.rasBase when calling > >>>>>>> BN_GetPixelPointer. > >>>>>>> > >>>>>>> fontpath.c > >>>>>>> > >>>>>>> You might overrun the 512 byte fixed-size string fontDirPath by > >>>>>>> copying > >>>>>>> DirP->name[index] without checking the length. > >>>>>>>