Return to xmalloc.c CVS log | Up to [local] / src / usr.bin / rcs |
version 1.9, 2015/06/13 20:15:21 | version 1.10, 2015/06/17 20:50:10 | ||
---|---|---|---|
|
|
||
char * | char * | ||
xstrdup(const char *str) | xstrdup(const char *str) | ||
{ | { | ||
size_t len; | |||
char *cp; | char *cp; | ||
len = strlen(str) + 1; | if ((cp = strdup(str)) == NULL) | ||
cp = xmalloc(len); | err(1, "xstrdup"); | ||
if (strlcpy(cp, str, len) >= len) | |||
errx(1, "xstrdup: string truncated"); | |||
return cp; | return cp; | ||
} | } | ||