RFR 8007606 : Handle realloc() failure in unix/native/libnet/net_util_md.c correctly
Ivan Gerasimov
ivan.gerasimov at oracle.com
Fri Jan 11 19:30:18 UTC 2019
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
More information about the net-dev
mailing list