diff options
author | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-25 11:23:27 +0000 |
---|---|---|
committer | blueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-25 11:23:27 +0000 |
commit | 2bd7318c1a40cd2f2ae55382be3433ea384e8eff (patch) | |
tree | b3626dc8891c995c03cd6c33b5a3c3bd44e9c28e | |
parent | be15b141e0dddd9f41e464ca98aef1b05b28cf6b (diff) | |
download | hqemu-2bd7318c1a40cd2f2ae55382be3433ea384e8eff.zip hqemu-2bd7318c1a40cd2f2ae55382be3433ea384e8eff.tar.gz |
Replace uses of strndup (a GNU extension) with Qemu pstrdup
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5532 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | cutils.c | 12 | ||||
-rw-r--r-- | hw/bt-hci.c | 2 | ||||
-rw-r--r-- | qemu-common.h | 1 |
3 files changed, 14 insertions, 1 deletions
@@ -50,6 +50,18 @@ char *pstrcat(char *buf, int buf_size, const char *s) return buf; } +/* strdup with a limit */ +char *pstrdup(const char *str, size_t buf_size) +{ + size_t len; + char *buf; + + len = MIN(buf_size, strlen(str)); + buf = qemu_malloc(len); + pstrcpy(buf, len, str); + return buf; +} + int strstart(const char *str, const char *val, const char **ptr) { const char *p, *q; diff --git a/hw/bt-hci.c b/hw/bt-hci.c index 714e726..ab11e49 100644 --- a/hw/bt-hci.c +++ b/hw/bt-hci.c @@ -1814,7 +1814,7 @@ static void bt_submit_hci(struct HCIInfo *info, if (hci->device.lmp_name) free((void *) hci->device.lmp_name); - hci->device.lmp_name = strndup(PARAM(change_local_name, name), + hci->device.lmp_name = pstrdup(PARAM(change_local_name, name), sizeof(PARAM(change_local_name, name))); bt_hci_event_complete_status(hci, HCI_SUCCESS); break; diff --git a/qemu-common.h b/qemu-common.h index cc95fe6..aca2674 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -82,6 +82,7 @@ int qemu_timedate_diff(struct tm *tm); /* cutils.c */ void pstrcpy(char *buf, int buf_size, const char *str); char *pstrcat(char *buf, int buf_size, const char *s); +char *pstrdup(const char *str, size_t buf_size); int strstart(const char *str, const char *val, const char **ptr); int stristart(const char *str, const char *val, const char **ptr); time_t mktimegm(struct tm *tm); |