# HG changeset patch # User Krista 'DarthMama' Bennett # Date 1578748026 -3600 # Node ID 76806e5aebb27446e88a7eb975441b4f1eecd0f2 # Parent 7954908941531c21affc6af24c278e69f1beb8c7 Fixed misuse of set_own_key diff -r 795490894153 -r 76806e5aebb2 src/key_reset.c --- a/src/key_reset.c Fri Jan 10 02:46:33 2020 +0100 +++ b/src/key_reset.c Sat Jan 11 14:07:06 2020 +0100 @@ -490,7 +490,10 @@ // ensure that in this case, we end up with a private one, // so talk to vb about this. // Make new key the default - curr_ident->fpr = new_fpr; + + // This is REQUIRED for set_own_key (see doc) + curr_ident->fpr = NULL; + status = set_own_key(session, curr_ident, new_fpr); if (status != PEP_STATUS_OK) diff -r 795490894153 -r 76806e5aebb2 src/keymanagement.h --- a/src/keymanagement.h Fri Jan 10 02:46:33 2020 +0100 +++ b/src/keymanagement.h Sat Jan 11 14:07:06 2020 +0100 @@ -370,7 +370,10 @@ // myself() is called by set_own_key() without key generation // me->flags are ignored // me->address must not be an alias -// me->fpr will be ignored and replaced by fpr +// me->fpr will be ignored and replaced by fpr, but +// caller MUST surrender ownership of the me->fpr reference, because +// it may be freed and replaced within the myself call. caller owns +// me->fpr memory again upon return. DYNAMIC_API PEP_STATUS set_own_key( PEP_SESSION session,