sv: fix possible runtime issue with NULL SV's in sv_copy
This commit is contained in:
4
src/sv.c
4
src/sv.c
@@ -12,6 +12,10 @@
|
|||||||
|
|
||||||
sv_t sv_copy(sv_t old)
|
sv_t sv_copy(sv_t old)
|
||||||
{
|
{
|
||||||
|
if (old.size == 0)
|
||||||
|
return SV(old.data, 0);
|
||||||
|
else if (old.data == NULL)
|
||||||
|
return SV(NULL, old.size);
|
||||||
char *newstr = calloc(1, (old.size + 1) * sizeof(*newstr));
|
char *newstr = calloc(1, (old.size + 1) * sizeof(*newstr));
|
||||||
memcpy(newstr, old.data, old.size);
|
memcpy(newstr, old.data, old.size);
|
||||||
newstr[old.size] = '\0';
|
newstr[old.size] = '\0';
|
||||||
|
|||||||
Reference in New Issue
Block a user