summaryrefslogtreecommitdiffstats
path: root/include/import/ist.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/import/ist.h')
-rw-r--r--include/import/ist.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/include/import/ist.h b/include/import/ist.h
index 16b8616..e4e1425 100644
--- a/include/import/ist.h
+++ b/include/import/ist.h
@@ -939,15 +939,12 @@ static inline void istfree(struct ist *ist)
*/
static inline struct ist istdup(const struct ist src)
{
- const size_t src_size = src.len;
-
- /* Allocate at least 1 byte to allow duplicating an empty string with
- * malloc implementations that return NULL for a 0-size allocation.
- */
- struct ist dst = istalloc(src_size ? src_size : 1);
+ /* Allocate 1 extra byte to add an extra \0 delimiter. */
+ struct ist dst = istalloc(src.len + 1);
if (isttest(dst)) {
- istcpy(&dst, src, src_size);
+ istcpy(&dst, src, src.len);
+ dst.ptr[dst.len] = '\0';
}
return dst;