summaryrefslogtreecommitdiffstats
path: root/src/cmd/factotum/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/factotum/util.c')
-rw-r--r--src/cmd/factotum/util.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/factotum/util.c b/src/cmd/factotum/util.c
index 54b33519..accddddd 100644
--- a/src/cmd/factotum/util.c
+++ b/src/cmd/factotum/util.c
@@ -36,6 +36,7 @@ char*
estrappend(char *s, char *fmt, ...)
{
char *t;
+ int l;
va_list arg;
va_start(arg, fmt);
@@ -43,8 +44,9 @@ estrappend(char *s, char *fmt, ...)
if(t == nil)
sysfatal("out of memory");
va_end(arg);
- s = erealloc(s, strlen(s)+strlen(t)+1);
- strcat(s, t);
+ l = s ? strlen(s) : 0;
+ s = erealloc(s, l+strlen(t)+1);
+ strcpy(s+l, t);
free(t);
return s;
}