As discussed a few days ago, there are a few reallocarray + memset that
can be directly handled by recallocarray.
Index: main.c
===================================================================
RCS file: /cvs/src/usr.sbin/rpki-client/main.c,v
retrieving revision 1.101
diff -u -p -r1.101 main.c
--- main.c 18 Feb 2021 10:10:20 -0000 1.101
+++ main.c 19 Feb 2021 08:56:19 -0000
@@ -265,12 +265,12 @@ repo_alloc(void)
{
struct repo *rp;
- rt.repos = reallocarray(rt.repos, rt.reposz + 1, sizeof(struct repo));
+ rt.repos = recallocarray(rt.repos, rt.reposz, rt.reposz + 1,
+ sizeof(struct repo));
if (rt.repos == NULL)
- err(1, "reallocarray");
+ err(1, "recallocarray");
rp = &rt.repos[rt.reposz++];
- memset(rp, 0, sizeof(struct repo));
rp->id = rt.reposz - 1;
return rp;
Index: mft.c
===================================================================
RCS file: /cvs/src/usr.sbin/rpki-client/mft.c,v
retrieving revision 1.26
diff -u -p -r1.26 mft.c
--- mft.c 16 Feb 2021 07:58:30 -0000 1.26
+++ mft.c 19 Feb 2021 07:04:25 -0000
@@ -193,13 +193,12 @@ mft_parse_filehash(struct parse *p, cons
/* Insert the filename and hash value. */
- p->res->files = reallocarray(p->res->files, p->res->filesz + 1,
- sizeof(struct mftfile));
+ p->res->files = recallocarray(p->res->files, p->res->filesz,
+ p->res->filesz + 1, sizeof(struct mftfile));
if (p->res->files == NULL)
err(1, NULL);
fent = &p->res->files[p->res->filesz++];
- memset(fent, 0, sizeof(struct mftfile));
fent->file = fn;
fn = NULL;
Index: roa.c
===================================================================
RCS file: /cvs/src/usr.sbin/rpki-client/roa.c,v
retrieving revision 1.14
diff -u -p -r1.14 roa.c
--- roa.c 16 Feb 2021 07:58:30 -0000 1.14
+++ roa.c 19 Feb 2021 07:07:30 -0000
@@ -111,12 +111,11 @@ roa_parse_addr(const ASN1_OCTET_STRING *
/* FIXME: maximum check. */
}
- p->res->ips = reallocarray(p->res->ips,
- p->res->ipsz + 1, sizeof(struct roa_ip));
+ p->res->ips = recallocarray(p->res->ips, p->res->ipsz, p->res->ipsz + 1,
+ sizeof(struct roa_ip));
if (p->res->ips == NULL)
err(1, NULL);
res = &p->res->ips[p->res->ipsz++];
- memset(res, 0, sizeof(struct roa_ip));
res->addr = addr;
res->afi = afi;