summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--malloc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/malloc.c b/malloc.c
index 734ea066e8..5e85661b6f 100644
--- a/malloc.c
+++ b/malloc.c
@@ -1748,9 +1748,9 @@ char *
Perl_strdup(const char *s)
{
MEM_SIZE l = strlen(s);
- char *s1 = (char *)Perl_malloc(l);
+ char *s1 = (char *)Perl_malloc(l+1);
- Copy(s, s1, (MEM_SIZE)l, char);
+ Copy(s, s1, (MEM_SIZE)(l+1), char);
return s1;
}
@@ -1776,8 +1776,8 @@ Perl_putenv(char *a)
else
var = Perl_malloc(l + 1);
Copy(a, var, l, char);
- val++;
- my_setenv(var,val);
+ var[l + 1] = 0;
+ my_setenv(var, val+1);
if (var != buf)
Perl_mfree(var);
return 0;