Reverted blindly changed strncpy's to enable device names longer than 4
authorSven-Ola Tuecke <sven-ola@gmx.de>
Tue, 22 Jul 2008 18:23:53 +0000 (20:23 +0200)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Tue, 22 Jul 2008 18:23:53 +0000 (20:23 +0200)
src/unix/ifnet.c

index 5b69e48..39628f4 100644 (file)
@@ -517,7 +517,7 @@ add_hemu_if(struct olsr_if *iface)
   ifp->int_name = olsr_malloc(strlen("hcif01") + 1, "Interface update 3");
   ifp->int_metric = 0;
 
-  strncpy(ifp->int_name, "hcif01", sizeof(ifp->int_name));
+  strcpy(ifp->int_name, "hcif01");
 
   OLSR_PRINTF(1, "Adding %s(host emulation):\n", ifp->int_name);
 
@@ -881,10 +881,8 @@ chk_if_up(struct olsr_if *iface, int debuglvl __attribute__((unused)))
   memcpy(ifp, &ifs, sizeof(struct interface));
   
   ifp->gen_properties = NULL;
-  ifp->int_name = olsr_malloc(strlen(ifr.ifr_name) + 1, "Interface update 3");
-      
-  strncpy(ifp->int_name, if_basename(ifr.ifr_name), sizeof(IFNAMSIZ));
-  /* Segfaults if using strncpy(IFNAMSIZ) why oh why?? */
+  ifp->int_name = olsr_malloc(strlen(if_basename(ifr.ifr_name)) + 1, "Interface update 3");
+  strcpy(ifp->int_name, if_basename(ifr.ifr_name));
   ifp->int_next = ifnet;
   ifnet = ifp;