summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block-vmdk.c2
-rw-r--r--block-vvfat.c2
-rw-r--r--hw/bt-hci.c2
-rw-r--r--linux-user/syscall.c2
-rw-r--r--slirp/udp.c4
-rw-r--r--vl.c4
-rw-r--r--vnc.c3
7 files changed, 10 insertions, 9 deletions
diff --git a/block-vmdk.c b/block-vmdk.c
index c49b67193c..2a257b6f3e 100644
--- a/block-vmdk.c
+++ b/block-vmdk.c
@@ -344,7 +344,7 @@ static int vmdk_parent_open(BlockDriverState *bs, const char * filename)
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 79804a7107..1db2c8c87b 100644
--- a/block-vvfat.c
+++ b/block-vvfat.c
@@ -625,7 +625,7 @@ static inline direntry_t* create_short_and_long_name(BDRVVVFATState* s,
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 725e32c95d..714e72671c 100644
--- a/hw/bt-hci.c
+++ b/hw/bt-hci.c
@@ -1385,7 +1385,7 @@ static inline void bt_hci_event_complete_read_local_name(struct bt_hci_s *hci)
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, &params, READ_LOCAL_NAME_RP_SIZE);
}
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index c1301ee547..29254a2705 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4993,7 +4993,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
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 0583d7e979..8030326ad6 100644
--- a/slirp/udp.c
+++ b/slirp/udp.c
@@ -475,14 +475,14 @@ struct cu_header {
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 1fb474925e..b96735e267 100644
--- a/vl.c
+++ b/vl.c
@@ -4446,7 +4446,7 @@ int tap_alloc(char *dev, size_t dev_size)
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 @@ int tap_alloc(char *dev, size_t dev_size)
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 266460ff5d..9df4dbe137 100644
--- a/vnc.c
+++ b/vnc.c
@@ -2337,7 +2337,8 @@ int vnc_display_open(DisplayState *ds, const char *display)
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) {