diff options
Diffstat (limited to 'networking/udhcp/domain_codec.c')
-rw-r--r-- | networking/udhcp/domain_codec.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/networking/udhcp/domain_codec.c b/networking/udhcp/domain_codec.c index c1325d8..05cdf51 100644 --- a/networking/udhcp/domain_codec.c +++ b/networking/udhcp/domain_codec.c @@ -42,7 +42,7 @@ char* FAST_FUNC dname_dec(const uint8_t *cstr, int clen, const char *pre) */ while (1) { /* note: "return NULL" below are leak-safe since - * dst isn't yet allocated */ + * dst isn't allocated yet */ const uint8_t *c; unsigned crtpos, retpos, depth, len; @@ -95,9 +95,8 @@ char* FAST_FUNC dname_dec(const uint8_t *cstr, int clen, const char *pre) if (!dst) { /* first pass? */ /* allocate dst buffer and copy pre */ unsigned plen = strlen(pre); - ret = dst = xmalloc(plen + len); - memcpy(dst, pre, plen); - dst += plen; + ret = xmalloc(plen + len); + dst = stpcpy(ret, pre); } else { dst[len - 1] = '\0'; break; |