diff options
Diffstat (limited to 'g10/getkey.c')
-rw-r--r-- | g10/getkey.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/g10/getkey.c b/g10/getkey.c index 3b25b735d..d2f8ad962 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -2696,8 +2696,13 @@ finish_lookup (GETKEY_CTX ctx) } if (DBG_CACHE) - log_debug( "\tsubkey looks fine\n"); - if ( pk->timestamp > latest_date ) { + log_debug( "\tsubkey might be fine\n"); + /* In case a key has a timestamp of 0 set, we make sure + that it is used. A better change would be to compare + ">=" but that might also change the selected keys and + is as such a more intrusive change. */ + if ( pk->timestamp > latest_date + || (!pk->timestamp && !latest_date)) { latest_date = pk->timestamp; latest_key = k; } |