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.gerasi...@oracle.com>
> To: "net-dev@openjdk.java.net" <net-dev@openjdk.java.net>
> Subject: RFR 8007606 : Handle realloc() failure in
>       unix/native/libnet/net_util_md.c correctly
> Message-ID: <3dc3c26b-fea7-2538-2c7a-bfa623f2f...@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
> 
> 

Reply via email to