--- libc/sysdeps/unix/sysv/linux/ifreq.c.orig Fri May 7 05:57:37 2004 +++ libc/sysdeps/unix/sysv/linux/ifreq.c Mon Jul 26 13:58:08 2004 @@ -71,6 +71,8 @@ { ifc.ifc_len = rq_len; void *newp = realloc (ifc.ifc_buf, ifc.ifc_len); + if (newp != NULL) + ifc.ifc_buf = newp; if (newp == NULL || __ioctl (fd, SIOCGIFCONF, &ifc) < 0) { free (ifc.ifc_buf); @@ -82,7 +84,6 @@ *ifreqs = NULL; return; } - ifc.ifc_buf = newp; if (!old_siocgifconf || ifc.ifc_len < rq_len) break;