net/mlx5: remove flow support
[dpdk.git] / examples / ip_pipeline / tap.c
index 5b34032..11e4ad2 100644 (file)
@@ -15,6 +15,8 @@
 #include <string.h>
 #include <unistd.h>
 
+#include <rte_string_fns.h>
+
 #include "tap.h"
 
 #define TAP_DEV                                            "/dev/net/tun"
@@ -76,16 +78,19 @@ tap_create(const char *name)
        snprintf(ifr.ifr_name, IFNAMSIZ, "%s", name);
 
        status = ioctl(fd, TUNSETIFF, (void *) &ifr);
-       if (status < 0)
+       if (status < 0) {
+               close(fd);
                return NULL;
+       }
 
        /* Node allocation */
        tap = calloc(1, sizeof(struct tap));
-       if (tap == NULL)
+       if (tap == NULL) {
+               close(fd);
                return NULL;
-
+       }
        /* Node fill in */
-       strncpy(tap->name, name, sizeof(tap->name));
+       strlcpy(tap->name, name, sizeof(tap->name));
        tap->fd = fd;
 
        /* Node add to list */