netdev-bsd: Use xmemdup0() to simplify netdev_bsd_get_next_hop().
authorBen Pfaff <blp@nicira.com>
Thu, 25 Jul 2013 22:38:29 +0000 (15:38 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 8 Aug 2013 06:40:32 +0000 (23:40 -0700)
Signed-off-by: Ben Pfaff <blp@nicira.com>
CC: Ed Maste <emaste@freebsd.org>
CC: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
lib/netdev-bsd.c

index 2e49c94..6ff6b3e 100644 (file)
@@ -1312,12 +1312,9 @@ netdev_bsd_get_next_hop(const struct in_addr *host OVS_UNUSED,
             if ((i == RTA_IFP) && sa->sa_family == AF_LINK) {
                 const struct sockaddr_dl * const sdl =
                   (const struct sockaddr_dl *)sa;
             if ((i == RTA_IFP) && sa->sa_family == AF_LINK) {
                 const struct sockaddr_dl * const sdl =
                   (const struct sockaddr_dl *)sa;
-                const size_t nlen = sdl->sdl_nlen;
-                char * const kernel_name = xmalloc(nlen + 1);
-                const char *name;
+                char *kernel_name;
 
 
-                memcpy(kernel_name, sdl->sdl_data, nlen);
-                kernel_name[nlen] = 0;
+                kernel_name = xmemdup0(sdl->sdl_data, sdl->sdl_nlen);
                 name = netdev_bsd_convert_kernel_name_to_ovs_name(kernel_name);
                 if (name == NULL) {
                     ifname = xstrdup(kernel_name);
                 name = netdev_bsd_convert_kernel_name_to_ovs_name(kernel_name);
                 if (name == NULL) {
                     ifname = xstrdup(kernel_name);