Subject: Re: [PATCH v5 4/5] merge/pull Check for untrusted good GPG signatures

From: Sebastian Götte <[email-masked]>
Date: Sun, 31 Mar 2013 12:55:19 +0200

On 03/31/2013 10:32 AM, Thomas Rast wrote:
> Sebastian Götte <[email-masked]> writes:
> 
>> When --verify-signatures is specified, abort the merge in case a good
>> GPG signature from an untrusted key is encountered.
> [...]
>> +test_expect_success GPG 'merge  commit with untrusted signature with verification' '
>                                   ^
>                                   `------------.
> Nit: you have a pointless(?) double space here-´
Will fix that in the next revision ;)

>> +	test_must_fail git merge --ff-only --verify-signatures side-untrusted 2>mergeerror &&
>> +	test_i18ngrep "from an untrusted key" mergeerror
>> +'
> 
> This test gives me the following:
> 
> ==26527== Conditional jump or move depends on uninitialised value(s)
> ==26527==    at 0x4C2D8BC: strchrnul (mc_replace_strmem.c:1084)
> ==26527==    by 0x4989CC: parse_signature_lines (commit.c:1074)
> ==26527==    by 0x498B33: check_commit_signature (commit.c:1100)
> ==26527==    by 0x453719: cmd_merge (merge.c:1246)
> ==26527==    by 0x4057B6: run_builtin (git.c:282)
> ==26527==    by 0x405949: handle_internal_command (git.c:444)
> ==26527==    by 0x405A63: run_argv (git.c:490)
> ==26527==    by 0x405BF2: main (git.c:565)
> 
> though I currently cannot see what's wrong, probably because I don't
> know the format that parse_signature_lines gives.  Can you look into it?
Against what version/combination of the patches are you running the test?
parse_signature_lines is called parse_gpg_output in v5.  Perhaps just try again
with v6 of the patch, the difference between v5 and v6 is parse_gpg_output
(Junio did not like the v5 variant).

Thanks
Sebastian