Allan McRae <[email protected]> on Thu, 2014/06/12 16:24:
> On 11/06/14 23:37, Christian Hesse wrote:
> > ---
> >  lib/libalpm/signing.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> > 
> > diff --git a/lib/libalpm/signing.c b/lib/libalpm/signing.c
> > index 8fb909d..a7a70f6 100644
> > --- a/lib/libalpm/signing.c
> > +++ b/lib/libalpm/signing.c
> > @@ -348,6 +348,11 @@ static int key_search(alpm_handle_t *handle, const
> > char *fpr, #endif
> >                     pgpkey->pubkey_algo = 'E';
> >                     break;
> > +
> > +           default:
> > +                   _alpm_log(handle, ALPM_LOG_DEBUG, "unknown
> > public key algorithm\n");
> > +                   ret = 0;
> > +                   goto gpg_error;
> >     }
> >  
> >     ret = 1;
> > 
> 
> I like how we got a compile failure on the last gpgme update to flag we
> needed to deal with the new enum value.  So I am not sure about adding
> the default here.

The compile failure is nice, though the code can fail at runtime. Consider
pacman has been compiled with gpgme-1.4.x, but links against gpgme-1.5.x at
runtime. (libgpgme did not bump soname, so actually this is the case.) What
will happen if pacman finds an ECC public key (or whatever future will bring)?
-- 
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Chris           get my mail address:    */=0;b=c[a++];)
putchar(b-1/(/*               gcc -o sig sig.c && ./sig    */b/42*2-3)*42);}

Attachment: signature.asc
Description: PGP signature



Reply via email to