On Wed, Jun 10, 2015 at 07:37:57PM +0200, Fritjof Bornebusch wrote:
> On Wed, May 20, 2015 at 10:55:34AM +0200, Fritjof Bornebusch wrote:
> > On Tue, May 19, 2015 at 08:57:06PM +0200, Fritjof Bornebusch wrote:
> > > Hi,
> > > 
> > > xstrdup just wrappes strdup, so there is no need to call xmalloc and
> > > strlcpy instead.
> > >
> >
> 
> Ping ....
>

Without PGP stuff ....
  
> > Use err() instead of errx(), so errno will be printed additionally.
> > Thanks to Tim.
> >  
> > > Regards,
> > > --F.
> > > 
> > > 
> > 
> > Regards,
> > --F.
> > 
> > >  
> > 


Index: xmalloc.c
===================================================================
RCS file: /cvs/src/usr.bin/rcs/xmalloc.c,v
retrieving revision 1.8
diff -u -p -r1.8 xmalloc.c
--- xmalloc.c   26 Mar 2015 15:17:30 -0000      1.8
+++ xmalloc.c   20 May 2015 08:53:01 -0000
@@ -76,13 +76,11 @@ xfree(void *ptr)
 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: copy string failed");
+
        return cp;
 }
 

Reply via email to