From: Claudio Jeker Subject: Re: rpki-client: kill a few more struct parse remnants To: Theo Buehler Cc: tech@openbsd.org Date: Mon, 14 Sep 2026 11:13:39 +0200 On Mon, Sep 14, 2026 at 11:02:37AM +0200, Theo Buehler wrote: > This kills the uses of p (remember struct parse?) for signed objects > outside of printing to make grep work a bit better. The only p that > remains in the files I touch is in vap->insert in aspa.c. > > Diff is mechanical apart from a line break in roa_read() for an overlong > line. OK claudio@ > Index: aspa.c > =================================================================== > RCS file: /cvs/src/usr.sbin/rpki-client/aspa.c,v > diff -u -p -r1.46 aspa.c > --- aspa.c 3 Sep 2026 17:19:30 -0000 1.46 > +++ aspa.c 14 Sep 2026 08:41:09 -0000 > @@ -226,13 +226,13 @@ aspa_obj(void) > * Safe to call with NULL. > */ > void > -aspa_free(struct aspa *p) > +aspa_free(struct aspa *aspa) > { > - if (p == NULL) > + if (aspa == NULL) > return; > > - free(p->providers); > - free(p); > + free(aspa->providers); > + free(aspa); > } > > /* > @@ -240,16 +240,16 @@ aspa_free(struct aspa *p) > * See aspa_read() for the reader on the other side. > */ > void > -aspa_buffer(struct ibuf *b, const struct aspa *p) > +aspa_buffer(struct ibuf *b, const struct aspa *aspa) > { > - io_simple_buffer(b, &p->valid, sizeof(p->valid)); > - io_simple_buffer(b, &p->custasid, sizeof(p->custasid)); > - io_simple_buffer(b, &p->talid, sizeof(p->talid)); > - io_simple_buffer(b, &p->expires, sizeof(p->expires)); > - > - io_simple_buffer(b, &p->num_providers, sizeof(size_t)); > - io_simple_buffer(b, p->providers, > - p->num_providers * sizeof(p->providers[0])); > + io_simple_buffer(b, &aspa->valid, sizeof(aspa->valid)); > + io_simple_buffer(b, &aspa->custasid, sizeof(aspa->custasid)); > + io_simple_buffer(b, &aspa->talid, sizeof(aspa->talid)); > + io_simple_buffer(b, &aspa->expires, sizeof(aspa->expires)); > + > + io_simple_buffer(b, &aspa->num_providers, sizeof(size_t)); > + io_simple_buffer(b, aspa->providers, > + aspa->num_providers * sizeof(aspa->providers[0])); > } > > /* > @@ -260,27 +260,27 @@ aspa_buffer(struct ibuf *b, const struct > struct aspa * > aspa_read(struct ibuf *b) > { > - struct aspa *p; > + struct aspa *aspa; > > - if ((p = calloc(1, sizeof(struct aspa))) == NULL) > + if ((aspa = calloc(1, sizeof(struct aspa))) == NULL) > err(1, NULL); > > - io_read_buf(b, &p->valid, sizeof(p->valid)); > - io_read_buf(b, &p->custasid, sizeof(p->custasid)); > - io_read_buf(b, &p->talid, sizeof(p->talid)); > - io_read_buf(b, &p->expires, sizeof(p->expires)); > - > - io_read_buf(b, &p->num_providers, sizeof(size_t)); > - > - if (p->num_providers > 0) { > - if ((p->providers = calloc(p->num_providers, > - sizeof(p->providers[0]))) == NULL) > + io_read_buf(b, &aspa->valid, sizeof(aspa->valid)); > + io_read_buf(b, &aspa->custasid, sizeof(aspa->custasid)); > + io_read_buf(b, &aspa->talid, sizeof(aspa->talid)); > + io_read_buf(b, &aspa->expires, sizeof(aspa->expires)); > + > + io_read_buf(b, &aspa->num_providers, sizeof(size_t)); > + > + if (aspa->num_providers > 0) { > + if ((aspa->providers = calloc(aspa->num_providers, > + sizeof(aspa->providers[0]))) == NULL) > err(1, NULL); > - io_read_buf(b, p->providers, > - p->num_providers * sizeof(p->providers[0])); > + io_read_buf(b, aspa->providers, > + aspa->num_providers * sizeof(aspa->providers[0])); > } > > - return p; > + return aspa; > } > > /* > Index: mft.c > =================================================================== > RCS file: /cvs/src/usr.sbin/rpki-client/mft.c,v > diff -u -p -r1.144 mft.c > --- mft.c 12 Sep 2026 12:46:04 -0000 1.144 > +++ mft.c 14 Sep 2026 08:39:48 -0000 > @@ -474,24 +474,24 @@ mft_obj(void) > * Safe to call with NULL. > */ > void > -mft_free(struct mft *p) > +mft_free(struct mft *mft) > { > size_t i; > > - if (p == NULL) > + if (mft == NULL) > return; > > - for (i = 0; i < p->filesz; i++) > - free(p->files[i].file); > + for (i = 0; i < mft->filesz; i++) > + free(mft->files[i].file); > > - free(p->path); > - free(p->files); > - free(p->seqnum); > - free(p->aki); > - free(p->sia); > - free(p->crldp); > - free(p->crl); > - free(p); > + free(mft->path); > + free(mft->files); > + free(mft->seqnum); > + free(mft->aki); > + free(mft->sia); > + free(mft->crldp); > + free(mft->crl); > + free(mft); > } > > /* > @@ -499,31 +499,31 @@ mft_free(struct mft *p) > * See mft_read() for the other side of the pipe. > */ > void > -mft_buffer(struct ibuf *b, const struct mft *p) > +mft_buffer(struct ibuf *b, const struct mft *mft) > { > size_t i; > > - io_simple_buffer(b, &p->repoid, sizeof(p->repoid)); > - io_simple_buffer(b, &p->talid, sizeof(p->talid)); > - io_simple_buffer(b, &p->certid, sizeof(p->certid)); > - io_simple_buffer(b, &p->seqnum_gap, sizeof(p->seqnum_gap)); > - io_opt_str_buffer(b, p->path); > - > - io_str_buffer(b, p->aki); > - io_str_buffer(b, p->seqnum); > - io_str_buffer(b, p->sia); > - io_simple_buffer(b, &p->thisupdate, sizeof(p->thisupdate)); > - io_simple_buffer(b, p->mfthash, sizeof(p->mfthash)); > - io_simple_buffer(b, &p->mftsize, sizeof(p->mftsize)); > - > - io_simple_buffer(b, &p->filesz, sizeof(size_t)); > - for (i = 0; i < p->filesz; i++) { > - io_str_buffer(b, p->files[i].file); > - io_simple_buffer(b, &p->files[i].type, > - sizeof(p->files[i].type)); > - io_simple_buffer(b, &p->files[i].location, > - sizeof(p->files[i].location)); > - io_simple_buffer(b, p->files[i].hash, SHA256_DIGEST_LENGTH); > + io_simple_buffer(b, &mft->repoid, sizeof(mft->repoid)); > + io_simple_buffer(b, &mft->talid, sizeof(mft->talid)); > + io_simple_buffer(b, &mft->certid, sizeof(mft->certid)); > + io_simple_buffer(b, &mft->seqnum_gap, sizeof(mft->seqnum_gap)); > + io_opt_str_buffer(b, mft->path); > + > + io_str_buffer(b, mft->aki); > + io_str_buffer(b, mft->seqnum); > + io_str_buffer(b, mft->sia); > + io_simple_buffer(b, &mft->thisupdate, sizeof(mft->thisupdate)); > + io_simple_buffer(b, mft->mfthash, sizeof(mft->mfthash)); > + io_simple_buffer(b, &mft->mftsize, sizeof(mft->mftsize)); > + > + io_simple_buffer(b, &mft->filesz, sizeof(size_t)); > + for (i = 0; i < mft->filesz; i++) { > + io_str_buffer(b, mft->files[i].file); > + io_simple_buffer(b, &mft->files[i].type, > + sizeof(mft->files[i].type)); > + io_simple_buffer(b, &mft->files[i].location, > + sizeof(mft->files[i].location)); > + io_simple_buffer(b, mft->files[i].hash, SHA256_DIGEST_LENGTH); > } > } > > @@ -534,40 +534,40 @@ mft_buffer(struct ibuf *b, const struct > struct mft * > mft_read(struct ibuf *b) > { > - struct mft *p = NULL; > + struct mft *mft = NULL; > size_t i; > > - if ((p = calloc(1, sizeof(struct mft))) == NULL) > + if ((mft = calloc(1, sizeof(struct mft))) == NULL) > err(1, NULL); > > - io_read_buf(b, &p->repoid, sizeof(p->repoid)); > - io_read_buf(b, &p->talid, sizeof(p->talid)); > - io_read_buf(b, &p->certid, sizeof(p->certid)); > - io_read_buf(b, &p->seqnum_gap, sizeof(p->seqnum_gap)); > - io_read_opt_str(b, &p->path); > - > - io_read_str(b, &p->aki); > - io_read_str(b, &p->seqnum); > - io_read_str(b, &p->sia); > - io_read_buf(b, &p->thisupdate, sizeof(p->thisupdate)); > - io_read_buf(b, &p->mfthash, sizeof(p->mfthash)); > - io_read_buf(b, &p->mftsize, sizeof(p->mftsize)); > + io_read_buf(b, &mft->repoid, sizeof(mft->repoid)); > + io_read_buf(b, &mft->talid, sizeof(mft->talid)); > + io_read_buf(b, &mft->certid, sizeof(mft->certid)); > + io_read_buf(b, &mft->seqnum_gap, sizeof(mft->seqnum_gap)); > + io_read_opt_str(b, &mft->path); > + > + io_read_str(b, &mft->aki); > + io_read_str(b, &mft->seqnum); > + io_read_str(b, &mft->sia); > + io_read_buf(b, &mft->thisupdate, sizeof(mft->thisupdate)); > + io_read_buf(b, &mft->mfthash, sizeof(mft->mfthash)); > + io_read_buf(b, &mft->mftsize, sizeof(mft->mftsize)); > > - io_read_buf(b, &p->filesz, sizeof(size_t)); > - if (p->filesz == 0) > + io_read_buf(b, &mft->filesz, sizeof(size_t)); > + if (mft->filesz == 0) > err(1, "mft_read: bad message"); > - if ((p->files = calloc(p->filesz, sizeof(struct mftfile))) == NULL) > + if ((mft->files = calloc(mft->filesz, sizeof(struct mftfile))) == NULL) > err(1, NULL); > > - for (i = 0; i < p->filesz; i++) { > - io_read_str(b, &p->files[i].file); > - io_read_buf(b, &p->files[i].type, sizeof(p->files[i].type)); > - io_read_buf(b, &p->files[i].location, > - sizeof(p->files[i].location)); > - io_read_buf(b, p->files[i].hash, SHA256_DIGEST_LENGTH); > + for (i = 0; i < mft->filesz; i++) { > + io_read_str(b, &mft->files[i].file); > + io_read_buf(b, &mft->files[i].type, sizeof(mft->files[i].type)); > + io_read_buf(b, &mft->files[i].location, > + sizeof(mft->files[i].location)); > + io_read_buf(b, mft->files[i].hash, SHA256_DIGEST_LENGTH); > } > > - return p; > + return mft; > } > > /* > Index: roa.c > =================================================================== > RCS file: /cvs/src/usr.sbin/rpki-client/roa.c,v > diff -u -p -r1.92 roa.c > --- roa.c 3 Sep 2026 17:19:30 -0000 1.92 > +++ roa.c 14 Sep 2026 08:42:17 -0000 > @@ -283,13 +283,13 @@ roa_obj(void) > * Safe to call with NULL. > */ > void > -roa_free(struct roa *p) > +roa_free(struct roa *roa) > { > > - if (p == NULL) > + if (roa == NULL) > return; > - free(p->ips); > - free(p); > + free(roa->ips); > + free(roa); > } > > /* > @@ -297,15 +297,15 @@ roa_free(struct roa *p) > * See roa_read() for reader. > */ > void > -roa_buffer(struct ibuf *b, const struct roa *p) > +roa_buffer(struct ibuf *b, const struct roa *roa) > { > - io_simple_buffer(b, &p->valid, sizeof(p->valid)); > - io_simple_buffer(b, &p->asid, sizeof(p->asid)); > - io_simple_buffer(b, &p->talid, sizeof(p->talid)); > - io_simple_buffer(b, &p->num_ips, sizeof(p->num_ips)); > - io_simple_buffer(b, &p->expires, sizeof(p->expires)); > + io_simple_buffer(b, &roa->valid, sizeof(roa->valid)); > + io_simple_buffer(b, &roa->asid, sizeof(roa->asid)); > + io_simple_buffer(b, &roa->talid, sizeof(roa->talid)); > + io_simple_buffer(b, &roa->num_ips, sizeof(roa->num_ips)); > + io_simple_buffer(b, &roa->expires, sizeof(roa->expires)); > > - io_simple_buffer(b, p->ips, p->num_ips * sizeof(p->ips[0])); > + io_simple_buffer(b, roa->ips, roa->num_ips * sizeof(roa->ips[0])); > } > > /* > @@ -316,24 +316,25 @@ roa_buffer(struct ibuf *b, const struct > struct roa * > roa_read(struct ibuf *b) > { > - struct roa *p; > + struct roa *roa; > > - if ((p = calloc(1, sizeof(struct roa))) == NULL) > + if ((roa = calloc(1, sizeof(struct roa))) == NULL) > err(1, NULL); > > - io_read_buf(b, &p->valid, sizeof(p->valid)); > - io_read_buf(b, &p->asid, sizeof(p->asid)); > - io_read_buf(b, &p->talid, sizeof(p->talid)); > - io_read_buf(b, &p->num_ips, sizeof(p->num_ips)); > - io_read_buf(b, &p->expires, sizeof(p->expires)); > - > - if (p->num_ips > 0) { > - if ((p->ips = calloc(p->num_ips, sizeof(p->ips[0]))) == NULL) > + io_read_buf(b, &roa->valid, sizeof(roa->valid)); > + io_read_buf(b, &roa->asid, sizeof(roa->asid)); > + io_read_buf(b, &roa->talid, sizeof(roa->talid)); > + io_read_buf(b, &roa->num_ips, sizeof(roa->num_ips)); > + io_read_buf(b, &roa->expires, sizeof(roa->expires)); > + > + if (roa->num_ips > 0) { > + if ((roa->ips = calloc(roa->num_ips, > + sizeof(roa->ips[0]))) == NULL) > err(1, NULL); > - io_read_buf(b, p->ips, p->num_ips * sizeof(p->ips[0])); > + io_read_buf(b, roa->ips, roa->num_ips * sizeof(roa->ips[0])); > } > > - return p; > + return roa; > } > > /* > Index: rsc.c > =================================================================== > RCS file: /cvs/src/usr.sbin/rpki-client/rsc.c,v > diff -u -p -r1.49 rsc.c > --- rsc.c 3 Sep 2026 17:19:30 -0000 1.49 > +++ rsc.c 14 Sep 2026 08:42:44 -0000 > @@ -413,18 +413,18 @@ rsc_obj(void) > * Safe to call with NULL. > */ > void > -rsc_free(struct rsc *p) > +rsc_free(struct rsc *rsc) > { > size_t i; > > - if (p == NULL) > + if (rsc == NULL) > return; > > - for (i = 0; i < p->num_files; i++) > - free(p->files[i].filename); > + for (i = 0; i < rsc->num_files; i++) > + free(rsc->files[i].filename); > > - free(p->ips); > - free(p->ases); > - free(p->files); > - free(p); > + free(rsc->ips); > + free(rsc->ases); > + free(rsc->files); > + free(rsc); > } > -- :wq Claudio