=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/hexdump/parse.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- src/usr.bin/hexdump/parse.c 2016/02/09 01:29:12 1.18 +++ src/usr.bin/hexdump/parse.c 2016/02/09 02:13:12 1.19 @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.c,v 1.18 2016/02/09 01:29:12 tb Exp $ */ +/* $OpenBSD: parse.c,v 1.19 2016/02/09 02:13:12 mmcc Exp $ */ /* $NetBSD: parse.c,v 1.12 2001/12/07 13:37:39 bjh21 Exp $ */ /* @@ -141,10 +141,9 @@ for (savep = ++p; *p != '"';) if (*p++ == 0) badfmt(fmt); - if ((tfu->fmt = malloc(p - savep + 1)) == NULL) + tfu->fmt = strndup(savep, p - savep); + if (tfu->fmt == NULL) err(1, NULL); - (void) strncpy(tfu->fmt, savep, p - savep); - tfu->fmt[p - savep] = '\0'; escape(tfu->fmt); p++; }