RFR 8007606 : Handle realloc() failure in unix/native/libnet/net_util_md.c correctly
Ivan Gerasimov
ivan.gerasimov at oracle.com
Thu Jan 17 02:16:34 UTC 2019
Thank you Christoph and Mattias!
I've filed
https://bugs.openjdk.java.net/browse/JDK-8217291 and
https://bugs.openjdk.java.net/browse/JDK-8217292
to handle the realloc() issues in other areas.
With kind regards,
Ivan
On 1/16/19 2:22 AM, Baesken, Matthias wrote:
> Hi Ivan ,looks good to me too (not a Reviewer however).
>
> Do you think we should address the other reallocs with unhandeled return code ?
>
> Best regards, Matthias
>
>> -----Original Message-----
>> From: Langer, Christoph
>> Sent: Dienstag, 15. Januar 2019 20:58
>> To: Ivan Gerasimov <ivan.gerasimov at oracle.com>; Baesken, Matthias
>> <matthias.baesken at sap.com>; net-dev at openjdk.java.net
>> Subject: RE: RFR 8007606 : Handle realloc() failure in
>> unix/native/libnet/net_util_md.c correctly
>>
>> Hi Ivan,
>>
>> yes, sure, push it
>>
>> Best regards
>> Christoph
>>
>>> -----Original Message-----
>>> From: Ivan Gerasimov <ivan.gerasimov at oracle.com>
>>> Sent: Dienstag, 15. Januar 2019 20:53
>>> To: Baesken, Matthias <matthias.baesken at sap.com>; net-
>>> dev at openjdk.java.net; Langer, Christoph <christoph.langer at sap.com>
>>> Subject: Re: RFR 8007606 : Handle realloc() failure in
>>> unix/native/libnet/net_util_md.c correctly
>>>
>>> Hello!
>>>
>>> Do you think it is good to go now?
>>>
>>> With kind regards,
>>>
>>> Ivan
>>>
>>>
>>> On 1/11/19 11:30 AM, Ivan Gerasimov wrote:
>>>> Good catch, thank you!
>>>>
>>>> Indeed, if we don't reset localifsSize then we could end up accessing
>>>> already freed memory, which is worse than just a memory leak.
>>>>
>>>> Here's the updated webrev:
>>>>
>>>> http://cr.openjdk.java.net/~igerasim/8007606/01/webrev/
>>>>
>>>> With kind regards,
>>>> Ivan
>>>>
>>>> On 1/11/19 4:43 AM, Baesken, Matthias wrote:
>>>>> Hi Ivan,
>>>>>
>>>>> Shouldn't you reset localifsSize to 0 in case of the early
>>>>> return ? The comment says localifsSize is the size of the array so
>>>>> the size of the array is 0 again after freeing.
>>>>>
>>>>>
>>>>> 637 static struct localinterface *localifs = 0;
>>>>> 638 static int localifsSize = 0; /* size of array */
>>>>> 639 static int nifs = 0; /* number of entries used in
>>>>> array */
>>>>>
>>>>> ...
>>>>>
>>>>> 679 if (localifsTemp == 0) {
>>>>> 680 free(localifs);
>>>>> 681 localifs = 0;
>>>>> 682 nifs = 0;
>>>>> 683 fclose(f);
>>>>> 684 return;
>>>>> 685 }
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Best regards, Matthias
>>>>>
>>>>>
>>>>>
>>>>>> Date: Thu, 10 Jan 2019 20:29:08 -0800
>>>>>> From: Ivan Gerasimov <ivan.gerasimov at oracle.com>
>>>>>> To: "net-dev at openjdk.java.net" <net-dev at openjdk.java.net>
>>>>>> Subject: RFR 8007606 : Handle realloc() failure in
>>>>>> unix/native/libnet/net_util_md.c correctly
>>>>>> Message-ID: <3dc3c26b-fea7-2538-2c7a-bfa623f2fc86 at oracle.com>
>>>>>> Content-Type: text/plain; charset=utf-8; format=flowed
>>>>>>
>>>>>> Hello!
>>>>>>
>>>>>> This seems to be the last use of realloc() without proper handling of a
>>>>>> failure.
>>>>>>
>>>>>> Would you please help review a trivial fix?
>>>>>>
>>>>>> BUGURL: https://bugs.openjdk.java.net/browse/JDK-8007606
>>>>>> WEBREV: http://cr.openjdk.java.net/~igerasim/8007606/00/webrev/
>>>>>>
>>>>>> Thanks in advance!
>>>>>>
>>>>>> --
>>>>>> With kind regards,
>>>>>> Ivan Gerasimov
>>>>>>
>>>>>>
>>> --
>>> With kind regards,
>>> Ivan Gerasimov
--
With kind regards,
Ivan Gerasimov
More information about the net-dev
mailing list