libalpm: check for valid public key algorithm
This commit is contained in:
parent
357b9a24a9
commit
e05fd5e060
1 changed files with 12 additions and 0 deletions
|
@ -327,6 +327,10 @@ static int key_search(alpm_handle_t *handle, const char *fpr,
|
|||
pgpkey->length = key->subkeys->length;
|
||||
pgpkey->revoked = key->subkeys->revoked;
|
||||
|
||||
/* Initialize with '?', this is overwritten unless public key
|
||||
* algorithm is unknown. */
|
||||
pgpkey->pubkey_algo = '?';
|
||||
|
||||
switch(key->subkeys->pubkey_algo) {
|
||||
case GPGME_PK_RSA:
|
||||
case GPGME_PK_RSA_E:
|
||||
|
@ -352,6 +356,14 @@ static int key_search(alpm_handle_t *handle, const char *fpr,
|
|||
|
||||
ret = 1;
|
||||
|
||||
/* We do not want to add a default switch case above to receive
|
||||
* compiler error on new public key algorithm in gpgme. So check
|
||||
* here if we have a valid pubkey_algo. */
|
||||
if (pgpkey->pubkey_algo == '?') {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG,
|
||||
"unknown public key algorithm: %d\n", key->subkeys->pubkey_algo);
|
||||
}
|
||||
|
||||
gpg_error:
|
||||
if(ret != 1) {
|
||||
_alpm_log(handle, ALPM_LOG_DEBUG, "gpg error: %s\n", gpgme_strerror(gpg_err));
|
||||
|
|
Loading…
Add table
Reference in a new issue