[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] <AWT Dev> RFR(M): 8170525: Fix minor issues in awt coding
From:       Phil Race <philip.race () oracle ! com>
Date:       2016-11-30 19:58:44
Message-ID: 0b89193d-598d-77b0-4c92-0f19b4cea68f () oracle ! com
[Download RAW message or body]

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.ryan@oracle.com]
>>> Sent: Mittwoch, 30. November 2016 14:53
>>> To: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>
>>> Cc: awt-dev@openjdk.java.net; security-dev@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.lindenmaier@sap.com <mailto:goetz.lindenmaier@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.
>>>
>>
>
>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic