@@ -446,16 +446,17 @@ static void show_one_mergetag(struct rev_info *opt,
446446
447447 payload_size = parse_signature (extra -> value , extra -> len );
448448 status = -1 ;
449- if (extra -> len > payload_size )
450- if (verify_signed_buffer (extra -> value , payload_size ,
451- extra -> value + payload_size ,
452- extra -> len - payload_size ,
453- & verify_message , NULL )) {
454- if (verify_message .len <= gpg_message_offset )
455- strbuf_addstr (& verify_message , "No signature\n" );
456- else
457- status = 0 ;
458- }
449+ if (extra -> len > payload_size ) {
450+ /* could have a good signature */
451+ if (!verify_signed_buffer (extra -> value , payload_size ,
452+ extra -> value + payload_size ,
453+ extra -> len - payload_size ,
454+ & verify_message , NULL ))
455+ status = 0 ; /* good */
456+ else if (verify_message .len <= gpg_message_offset )
457+ strbuf_addstr (& verify_message , "No signature\n" );
458+ /* otherwise we couldn't verify, which is shown as bad */
459+ }
459460
460461 show_sig_lines (opt , status , verify_message .buf );
461462 strbuf_release (& verify_message );
0 commit comments