aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog4
-rw-r--r--g10/getkey.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index d14106457..9fb26ea9d 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,5 +1,9 @@
2004-09-13 David Shaw <[email protected]>
+ * getkey.c (premerge_public_with_secret): Fix subkey<->binding sig
+ mismatch when some secret subkeys are missing. Discovered by
+ Michael Roth.
+
* main.h, keylist.c (print_subpackets_colon): Make a public
function.
diff --git a/g10/getkey.c b/g10/getkey.c
index 3002e1e9b..8676758f5 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -2173,7 +2173,7 @@ premerge_public_with_secret ( KBNODE pubblock, KBNODE secblock )
assert ( last );
/* find the next subkey */
for (next=pub->next,ll=pub;
- next && pub->pkt->pkttype != PKT_PUBLIC_SUBKEY;
+ next && next->pkt->pkttype != PKT_PUBLIC_SUBKEY;
ll = next, next = next->next )
;
/* make new link */