@@ -19,8 +19,8 @@ struct gpg_format {
1919 const char * * verify_args ;
2020 const char * * sigs ;
2121 int (* verify_signed_buffer )(struct signature_check * sigc ,
22- struct gpg_format * fmt , const char * payload ,
23- size_t payload_size , const char * signature ,
22+ struct gpg_format * fmt ,
23+ const char * signature ,
2424 size_t signature_size );
2525 int (* sign_buffer )(struct strbuf * buffer , struct strbuf * signature ,
2626 const char * signing_key );
@@ -53,12 +53,12 @@ static const char *ssh_sigs[] = {
5353};
5454
5555static int verify_gpg_signed_buffer (struct signature_check * sigc ,
56- struct gpg_format * fmt , const char * payload ,
57- size_t payload_size , const char * signature ,
56+ struct gpg_format * fmt ,
57+ const char * signature ,
5858 size_t signature_size );
5959static int verify_ssh_signed_buffer (struct signature_check * sigc ,
60- struct gpg_format * fmt , const char * payload ,
61- size_t payload_size , const char * signature ,
60+ struct gpg_format * fmt ,
61+ const char * signature ,
6262 size_t signature_size );
6363static int sign_buffer_gpg (struct strbuf * buffer , struct strbuf * signature ,
6464 const char * signing_key );
@@ -314,8 +314,8 @@ static void parse_gpg_output(struct signature_check *sigc)
314314}
315315
316316static int verify_gpg_signed_buffer (struct signature_check * sigc ,
317- struct gpg_format * fmt , const char * payload ,
318- size_t payload_size , const char * signature ,
317+ struct gpg_format * fmt ,
318+ const char * signature ,
319319 size_t signature_size )
320320{
321321 struct child_process gpg = CHILD_PROCESS_INIT ;
@@ -343,14 +343,13 @@ static int verify_gpg_signed_buffer(struct signature_check *sigc,
343343 NULL );
344344
345345 sigchain_push (SIGPIPE , SIG_IGN );
346- ret = pipe_command (& gpg , payload , payload_size , & gpg_stdout , 0 ,
346+ ret = pipe_command (& gpg , sigc -> payload , sigc -> payload_len , & gpg_stdout , 0 ,
347347 & gpg_stderr , 0 );
348348 sigchain_pop (SIGPIPE );
349349
350350 delete_tempfile (& temp );
351351
352352 ret |= !strstr (gpg_stdout .buf , "\n[GNUPG:] GOODSIG " );
353- sigc -> payload = xmemdupz (payload , payload_size );
354353 sigc -> output = strbuf_detach (& gpg_stderr , NULL );
355354 sigc -> gpg_status = strbuf_detach (& gpg_stdout , NULL );
356355
@@ -426,8 +425,8 @@ static void parse_ssh_output(struct signature_check *sigc)
426425}
427426
428427static int verify_ssh_signed_buffer (struct signature_check * sigc ,
429- struct gpg_format * fmt , const char * payload ,
430- size_t payload_size , const char * signature ,
428+ struct gpg_format * fmt ,
429+ const char * signature ,
431430 size_t signature_size )
432431{
433432 struct child_process ssh_keygen = CHILD_PROCESS_INIT ;
@@ -480,7 +479,7 @@ static int verify_ssh_signed_buffer(struct signature_check *sigc,
480479 "-n" , "git" ,
481480 "-s" , buffer_file -> filename .buf ,
482481 NULL );
483- pipe_command (& ssh_keygen , payload , payload_size ,
482+ pipe_command (& ssh_keygen , sigc -> payload , sigc -> payload_len ,
484483 & ssh_keygen_out , 0 , & ssh_keygen_err , 0 );
485484
486485 /*
@@ -526,7 +525,7 @@ static int verify_ssh_signed_buffer(struct signature_check *sigc,
526525 }
527526
528527 sigchain_push (SIGPIPE , SIG_IGN );
529- ret = pipe_command (& ssh_keygen , payload , payload_size ,
528+ ret = pipe_command (& ssh_keygen , sigc -> payload , sigc -> payload_len ,
530529 & ssh_keygen_out , 0 , & ssh_keygen_err , 0 );
531530 sigchain_pop (SIGPIPE );
532531
@@ -540,7 +539,6 @@ static int verify_ssh_signed_buffer(struct signature_check *sigc,
540539 }
541540 }
542541
543- sigc -> payload = xmemdupz (payload , payload_size );
544542 strbuf_stripspace (& ssh_keygen_out , 0 );
545543 strbuf_stripspace (& ssh_keygen_err , 0 );
546544 /* Add stderr outputs to show the user actual ssh-keygen errors */
@@ -562,8 +560,8 @@ static int verify_ssh_signed_buffer(struct signature_check *sigc,
562560 return ret ;
563561}
564562
565- int check_signature (const char * payload , size_t plen , const char * signature ,
566- size_t slen , struct signature_check * sigc )
563+ int check_signature (struct signature_check * sigc ,
564+ const char * signature , size_t slen )
567565{
568566 struct gpg_format * fmt ;
569567 int status ;
@@ -575,8 +573,7 @@ int check_signature(const char *payload, size_t plen, const char *signature,
575573 if (!fmt )
576574 die (_ ("bad/incompatible signature '%s'" ), signature );
577575
578- status = fmt -> verify_signed_buffer (sigc , fmt , payload , plen , signature ,
579- slen );
576+ status = fmt -> verify_signed_buffer (sigc , fmt , signature , slen );
580577
581578 if (status && !sigc -> output )
582579 return !!status ;
@@ -593,7 +590,7 @@ void print_signature_buffer(const struct signature_check *sigc, unsigned flags)
593590 sigc -> output ;
594591
595592 if (flags & GPG_VERIFY_VERBOSE && sigc -> payload )
596- fputs (sigc -> payload , stdout );
593+ fwrite (sigc -> payload , 1 , sigc -> payload_len , stdout );
597594
598595 if (output )
599596 fputs (output , stderr );
0 commit comments