Use strdup in xstrdup; from Fritjof Bornebusch.
authornicm <nicm@openbsd.org>
Wed, 17 Jun 2015 20:50:10 +0000 (20:50 +0000)
committernicm <nicm@openbsd.org>
Wed, 17 Jun 2015 20:50:10 +0000 (20:50 +0000)
usr.bin/diff/xmalloc.c
usr.bin/rcs/xmalloc.c

index 2eccb0f..5d1483e 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: xmalloc.c,v 1.6 2015/04/29 04:00:25 deraadt Exp $ */
+/* $OpenBSD: xmalloc.c,v 1.7 2015/06/17 20:50:10 nicm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -73,12 +73,10 @@ xfree(void *ptr)
 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)
+               err(1, "xstrdup");
        return cp;
 }
 
index 00f4a46..2aab4f8 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: xmalloc.c,v 1.9 2015/06/13 20:15:21 nicm Exp $ */
+/* $OpenBSD: xmalloc.c,v 1.10 2015/06/17 20:50:10 nicm Exp $ */
 /*
  * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -68,13 +68,10 @@ xreallocarray(void *ptr, size_t nmemb, size_t size)
 char *
 xstrdup(const char *str)
 {
-       size_t len;
        char *cp;
 
-       len = strlen(str) + 1;
-       cp = xmalloc(len);
-       if (strlcpy(cp, str, len) >= len)
-               errx(1, "xstrdup: string truncated");
+       if ((cp = strdup(str)) == NULL)
+               err(1, "xstrdup");
        return cp;
 }