@@ -19,8 +19,8 @@ struct gpg_format {
19
19
const char * * verify_args ;
20
20
const char * * sigs ;
21
21
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 ,
24
24
size_t signature_size );
25
25
int (* sign_buffer )(struct strbuf * buffer , struct strbuf * signature ,
26
26
const char * signing_key );
@@ -53,12 +53,12 @@ static const char *ssh_sigs[] = {
53
53
};
54
54
55
55
static 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 ,
58
58
size_t signature_size );
59
59
static 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 ,
62
62
size_t signature_size );
63
63
static int sign_buffer_gpg (struct strbuf * buffer , struct strbuf * signature ,
64
64
const char * signing_key );
@@ -314,8 +314,8 @@ static void parse_gpg_output(struct signature_check *sigc)
314
314
}
315
315
316
316
static 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 ,
319
319
size_t signature_size )
320
320
{
321
321
struct child_process gpg = CHILD_PROCESS_INIT ;
@@ -343,14 +343,13 @@ static int verify_gpg_signed_buffer(struct signature_check *sigc,
343
343
NULL );
344
344
345
345
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 ,
347
347
& gpg_stderr , 0 );
348
348
sigchain_pop (SIGPIPE );
349
349
350
350
delete_tempfile (& temp );
351
351
352
352
ret |= !strstr (gpg_stdout .buf , "\n[GNUPG:] GOODSIG " );
353
- sigc -> payload = xmemdupz (payload , payload_size );
354
353
sigc -> output = strbuf_detach (& gpg_stderr , NULL );
355
354
sigc -> gpg_status = strbuf_detach (& gpg_stdout , NULL );
356
355
@@ -426,8 +425,8 @@ static void parse_ssh_output(struct signature_check *sigc)
426
425
}
427
426
428
427
static 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 ,
431
430
size_t signature_size )
432
431
{
433
432
struct child_process ssh_keygen = CHILD_PROCESS_INIT ;
@@ -480,7 +479,7 @@ static int verify_ssh_signed_buffer(struct signature_check *sigc,
480
479
"-n" , "git" ,
481
480
"-s" , buffer_file -> filename .buf ,
482
481
NULL );
483
- pipe_command (& ssh_keygen , payload , payload_size ,
482
+ pipe_command (& ssh_keygen , sigc -> payload , sigc -> payload_len ,
484
483
& ssh_keygen_out , 0 , & ssh_keygen_err , 0 );
485
484
486
485
/*
@@ -526,7 +525,7 @@ static int verify_ssh_signed_buffer(struct signature_check *sigc,
526
525
}
527
526
528
527
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 ,
530
529
& ssh_keygen_out , 0 , & ssh_keygen_err , 0 );
531
530
sigchain_pop (SIGPIPE );
532
531
@@ -540,7 +539,6 @@ static int verify_ssh_signed_buffer(struct signature_check *sigc,
540
539
}
541
540
}
542
541
543
- sigc -> payload = xmemdupz (payload , payload_size );
544
542
strbuf_stripspace (& ssh_keygen_out , 0 );
545
543
strbuf_stripspace (& ssh_keygen_err , 0 );
546
544
/* 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,
562
560
return ret ;
563
561
}
564
562
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 )
567
565
{
568
566
struct gpg_format * fmt ;
569
567
int status ;
@@ -575,8 +573,7 @@ int check_signature(const char *payload, size_t plen, const char *signature,
575
573
if (!fmt )
576
574
die (_ ("bad/incompatible signature '%s'" ), signature );
577
575
578
- status = fmt -> verify_signed_buffer (sigc , fmt , payload , plen , signature ,
579
- slen );
576
+ status = fmt -> verify_signed_buffer (sigc , fmt , signature , slen );
580
577
581
578
if (status && !sigc -> output )
582
579
return !!status ;
@@ -593,7 +590,7 @@ void print_signature_buffer(const struct signature_check *sigc, unsigned flags)
593
590
sigc -> output ;
594
591
595
592
if (flags & GPG_VERIFY_VERBOSE && sigc -> payload )
596
- fputs (sigc -> payload , stdout );
593
+ fwrite (sigc -> payload , 1 , sigc -> payload_len , stdout );
597
594
598
595
if (output )
599
596
fputs (output , stderr );
0 commit comments