Replace uses of strncpy (a GNU extension) with Qemu pstrcpy git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5531 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/block-vmdk.c b/block-vmdk.c index c49b671..2a257b6 100644 --- a/block-vmdk.c +++ b/block-vmdk.c
@@ -344,7 +344,7 @@ if ((end_name - p_name) > sizeof (s->hd->backing_file) - 1) return -1; - strncpy(s->hd->backing_file, p_name, end_name - p_name); + pstrcpy(s->hd->backing_file, end_name - p_name, p_name); if (stat(s->hd->backing_file, &file_buf) != 0) { path_combine(parent_img_name, sizeof(parent_img_name), filename, s->hd->backing_file);
diff --git a/block-vvfat.c b/block-vvfat.c index 79804a7..1db2c8c 100644 --- a/block-vvfat.c +++ b/block-vvfat.c
@@ -625,7 +625,7 @@ entry=array_get_next(&(s->directory)); memset(entry->name,0x20,11); - strncpy((char*)entry->name,filename,i); + pstrcpy((char*)entry->name, i, filename); if(j > 0) for (i = 0; i < 3 && filename[j+1+i]; i++)
diff --git a/hw/bt-hci.c b/hw/bt-hci.c index 725e32c..714e726 100644 --- a/hw/bt-hci.c +++ b/hw/bt-hci.c
@@ -1385,7 +1385,7 @@ params.status = HCI_SUCCESS; memset(params.name, 0, sizeof(params.name)); if (hci->device.lmp_name) - strncpy(params.name, hci->device.lmp_name, sizeof(params.name)); + pstrcpy(params.name, sizeof(params.name), hci->device.lmp_name); bt_hci_event_complete(hci, ¶ms, READ_LOCAL_NAME_RP_SIZE); }
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index c1301ee..29254a2 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c
@@ -4993,7 +4993,7 @@ if (tnamelen > 256) tnamelen = 256; /* XXX: may not be correct */ - strncpy(tde->d_name, de->d_name, tnamelen); + pstrcpy(tde->d_name, tnamelen, de->d_name); de = (struct linux_dirent *)((char *)de + reclen); len -= reclen; tde = (struct target_dirent *)((char *)tde + treclen);
diff --git a/slirp/udp.c b/slirp/udp.c index 0583d7e..8030326 100644 --- a/slirp/udp.c +++ b/slirp/udp.c
@@ -475,14 +475,14 @@ type = omsg->type; OTOSIN(omsg, ctl_addr)->sin_port = addr.sin_port; OTOSIN(omsg, ctl_addr)->sin_addr = our_addr; - strncpy(omsg->l_name, getlogin(), NAME_SIZE_OLD); + pstrcpy(omsg->l_name, NAME_SIZE_OLD, getlogin()); } else { /* new talk */ omsg = (CTL_MSG_OLD *) buff; nmsg = mtod(m, CTL_MSG *); type = nmsg->type; OTOSIN(nmsg, ctl_addr)->sin_port = addr.sin_port; OTOSIN(nmsg, ctl_addr)->sin_addr = our_addr; - strncpy(nmsg->l_name, getlogin(), NAME_SIZE_OLD); + pstrcpy(nmsg->l_name, NAME_SIZE_OLD, getlogin()); } if (type == LOOK_UP)
diff --git a/vl.c b/vl.c index 1fb4749..b96735e 100644 --- a/vl.c +++ b/vl.c
@@ -4446,7 +4446,7 @@ syslog(LOG_ERR, "Can't get flags\n"); snprintf (actual_name, 32, "tap%d", ppa); - strncpy (ifr.lifr_name, actual_name, sizeof (ifr.lifr_name)); + pstrcpy(ifr.lifr_name, sizeof(ifr.lifr_name), actual_name); ifr.lifr_ppa = ppa; /* Assign ppa according to the unit number returned by tun device */ @@ -4489,7 +4489,7 @@ close (if_fd); memset(&ifr, 0x0, sizeof(ifr)); - strncpy (ifr.lifr_name, actual_name, sizeof (ifr.lifr_name)); + pstrcpy(ifr.lifr_name, sizeof(ifr.lifr_name), actual_name); ifr.lifr_ip_muxid = ip_muxid; ifr.lifr_arp_muxid = arp_muxid;
diff --git a/vnc.c b/vnc.c index 266460f..9df4dbe 100644 --- a/vnc.c +++ b/vnc.c
@@ -2337,7 +2337,8 @@ if (start && (!end || (start < end))) { int len = end ? end-(start+1) : strlen(start+1); char *path = qemu_malloc(len+1); - strncpy(path, start+1, len); + + pstrcpy(path, len, start + 1); path[len] = '\0'; VNC_DEBUG("Trying certificate path '%s'\n", path); if (vnc_set_x509_credential_dir(vs, path) < 0) {