On Tue, Jan 18, 2022 at 05:39:07PM +0100, Claudio Jeker wrote:
> On Tue, Jan 18, 2022 at 05:20:45PM +0100, Theo Buehler wrote:
> > On Tue, Jan 18, 2022 at 04:16:17PM +0100, Claudio Jeker wrote:
> > > This diff cleans up cert.c a bit.
> > > 
> > > It removes the X509 handle from cert_parse() and ta_parse(). Callers
> > > should instead use cert->x509. No need to double the work on us here.
> > 
> > I never understood the point of this handle and I know I chased it down
> > several times since it confused me. Glad to see it go.
> > 
> > > While there switch auth_insert() to a void function. This function can
> > > not fail. Again the result is simpler code in parser.c
> > 
> > To save anton some work: the signature change of *_parse() will need
> > adjustments in regress. With those,
> 
> Will have a look.
> 
> > > -         if ((opk = X509_get_pubkey(*xp)) == NULL)
> > > +         if ((opk = X509_get_pubkey(p->x509)) == NULL)
> > 
> > You could switch this to X509_get0_pubkey() and get rid of the
> > EVP_PKEY_free(opk) a few lines down.
> > 
> 
> Like this?

ok

> 
> -- 
> :wq Claudio
> 
> Index: cert.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/rpki-client/cert.c,v
> retrieving revision 1.51
> diff -u -p -r1.51 cert.c
> --- cert.c    18 Jan 2022 16:36:49 -0000      1.51
> +++ cert.c    18 Jan 2022 16:38:15 -0000
> @@ -1168,7 +1168,7 @@ ta_parse(const char *fn, const unsigned 
>               pk = d2i_PUBKEY(NULL, &pkey, pkeysz);
>               assert(pk != NULL);
>  
> -             if ((opk = X509_get_pubkey(p->x509)) == NULL)
> +             if ((opk = X509_get0_pubkey(p->x509)) == NULL)
>                       cryptowarnx("%s: RFC 6487 (trust anchor): "
>                           "missing pubkey", fn);
>               else if (EVP_PKEY_cmp(pk, opk) != 1)
> @@ -1178,7 +1178,6 @@ ta_parse(const char *fn, const unsigned 
>                       rc = 1;
>  
>               EVP_PKEY_free(pk);
> -             EVP_PKEY_free(opk);
>       }
>  
>       if (rc == 0) {

Reply via email to