diff options
author | Werner Koch <[email protected]> | 2019-09-30 12:08:13 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2019-09-30 12:08:13 +0000 |
commit | ec81c437e71b4c630a799ed29447cc5e3db162cd (patch) | |
tree | e5aa0afafbce4b5f3322b03f0c5c2d19820a28ea /g10/keydb.h | |
parent | gpg: Fix a recently introduced printf format buglet. (diff) | |
download | gnupg-ec81c437e71b4c630a799ed29447cc5e3db162cd.tar.gz gnupg-ec81c437e71b4c630a799ed29447cc5e3db162cd.zip |
gpg: Fix expand GPG groups when resolving a key
* g10/expand-group.c (expand_group): Add arg prepend_input.
* g10/pkclist.c (build_pk_list): Adjust for it.
* g10/getkey.c (key_byname): Keep the expanded names in the CTX and
don't premature free them.
(get_pubkey_byname): Append the namelist to the extra_list.
--
The original patch didn't kept the expanded list in the context and
also would duplicate names which are not group names. The latter does
not really harm but the former lead to a use after free. Original
patch was applied just a few weeks ago.
Fixes-commit: e825aea2ba3529c333d7ec2c76e63998cb83d999
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/keydb.h')
-rw-r--r-- | g10/keydb.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/g10/keydb.h b/g10/keydb.h index f94b14659..764cce98d 100644 --- a/g10/keydb.h +++ b/g10/keydb.h @@ -267,7 +267,7 @@ int check_signatures_trust (ctrl_t ctrl, PKT_signature *sig); void release_pk_list (PK_LIST pk_list); int expand_id (const char *id, strlist_t *into, unsigned int flags); -strlist_t expand_group (strlist_t input); +strlist_t expand_group (strlist_t input, int prepend_input); int build_pk_list (ctrl_t ctrl, strlist_t rcpts, PK_LIST *ret_pk_list); gpg_error_t find_and_check_key (ctrl_t ctrl, const char *name, unsigned int use, |