diff options
author | Werner Koch <[email protected]> | 2001-11-27 10:28:39 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2001-11-27 10:28:39 +0000 |
commit | eb485f83efd806e881d0a7fb015de55b2a06d88f (patch) | |
tree | 638c0204362d837563dd0e8903a828e410b81a9b | |
parent | * export.c (do_export_stream): Put all given names into a search (diff) | |
download | gnupg-eb485f83efd806e881d0a7fb015de55b2a06d88f.tar.gz gnupg-eb485f83efd806e881d0a7fb015de55b2a06d88f.zip |
* trustdb.c (mark_usable_uid_certs): Fix segfault from bad
initialization and fix reversed key signature expiration check.
-rw-r--r-- | g10/ChangeLog | 5 | ||||
-rw-r--r-- | g10/trustdb.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 015b78a65..0bf900aa1 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2001-11-26 David Shaw <[email protected]> + + * trustdb.c (mark_usable_uid_certs): Fix segfault from bad + initialization and fix reversed key signature expiration check. + 2001-11-09 Werner Koch <[email protected]> * export.c (do_export_stream): Put all given names into a search diff --git a/g10/trustdb.c b/g10/trustdb.c index ec80329c6..fae540f57 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -995,7 +995,7 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode, u32 curtime, u32 *next_expire) { KBNODE node; - PKT_signature *sig = node->pkt->pkt.signature; + PKT_signature *sig; /* first check all signatures */ for (node=uidnode->next; node; node = node->next) @@ -1076,7 +1076,8 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode, p = parse_sig_subpkt (sig->hashed, SIGSUBPKT_SIG_EXPIRE, NULL ); expire = p? sig->timestamp + buffer_to_u32(p) : 0; - if ( expire < curtime ) + + if (expire==0 || expire > curtime ) { signode->flag |= (1<<8); /* yeah, found a good cert */ if (expire && expire < *next_expire) |