NULLify pointers after free()ing them to avoid double free()s.
Index: libnet-1.1.4/src/libnet_if_addr.c
===================================================================
--- libnet-1.1.4.orig/src/libnet_if_addr.c	2009-06-27 14:48:56.084093427 +0300
+++ libnet-1.1.4/src/libnet_if_addr.c	2009-06-27 14:49:30.081249393 +0300
@@ -240,6 +240,7 @@
         {
             /* fix memory leak */
             free(al->device);
+	    al->device = NULL;
         }
         if ((al->device = strdup(device)) == NULL)
         {
@@ -406,6 +407,7 @@
     for (i = 0; i < c; i++)
     {
         free(al[i].device);
+	al[i].device = NULL;
     }
     return (1);
 
@@ -413,6 +415,7 @@
     for (i = 0; i < c; i++)
     {
         free(al[i].device);
+	al[i].device = NULL;
     }
     return (-1);
 }
