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 > >