From 0c9426b684163edf3a0425d48b2a80d2edcee8c5 Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Mon, 19 Sep 2016 18:35:22 +0000 Subject: [PATCH] hexdump(1): Simplify by using asprintf(3) Instead of strlen() + calloc() + snprintf, just use asprintf(). No functional change. Obtained from: OpenBSD (CVS Rev. 1.22) --- usr.bin/hexdump/parse.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/usr.bin/hexdump/parse.c b/usr.bin/hexdump/parse.c index 1e0612028f86..8f433d18ff3a 100644 --- a/usr.bin/hexdump/parse.c +++ b/usr.bin/hexdump/parse.c @@ -208,7 +208,6 @@ rewrite(FS *fs) unsigned char *p1, *p2, *fmtp; char savech, cs[3]; int nconv, prec; - size_t len; prec = 0; @@ -389,10 +388,8 @@ isint2: switch(fu->bcnt) { */ savech = *p2; p1[0] = '\0'; - len = strlen(fmtp) + strlen(cs) + 1; - if ((pr->fmt = calloc(1, len)) == NULL) + if (asprintf(&pr->fmt, "%s%s", fmtp, cs) == -1) err(1, NULL); - snprintf(pr->fmt, len, "%s%s", fmtp, cs); *p2 = savech; pr->cchar = pr->fmt + (p1 - fmtp); fmtp = p2;