Hi tech@,

as requested by nicm@, xstrdup just wrappes strdup(3).

Regards,
--F.


Index: xmalloc.c
===================================================================
RCS file: /cvs/src/usr.bin/ssh/xmalloc.c,v
retrieving revision 1.32
diff -u -p -r1.32 xmalloc.c
--- xmalloc.c   24 Apr 2015 01:36:01 -0000      1.32
+++ xmalloc.c   17 Jun 2015 18:42:43 -0000
@@ -13,6 +13,7 @@
  * called by a name other than "ssh" or "Secure Shell".
  */
 
+#include <errno.h>
 #include <stdarg.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -66,12 +67,10 @@ xreallocarray(void *ptr, size_t nmemb, s
 char *
 xstrdup(const char *str)
 {
-       size_t len;
        char *cp;
 
-       len = strlen(str) + 1;
-       cp = xmalloc(len);
-       strlcpy(cp, str, len);
+       if ((cp = strdup(str)) == NULL)
+               fatal("xstrdup: %s", strerror(errno));
        return cp;
 }
 

Reply via email to