Re: [PATCH 1/1] stash: fix segmentation fault when files were added with intent
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 18, 2019, 20:42 UTC
- Message-ID
- <xmqq5zulk88e.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <b5bbc7793c50991c7cb5a5188f53ccc3a14b23f6.1547805015.git.gitgitgadget@gmail.com>
"Matthew Kraai via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 9 quoted lines
> From: Matthew Kraai <mkraai@its.jnj.com> > > After `git add -N <file>`, the index is in a special state. A state for > which the built-in stash was not prepared, as it failed to initialize > the `rev` structure in that case before using `&rev.pending`. > > Detailed explanation: If `reset_tree()` returns a non-zero value, > `stash_working_tree()` calls `object_array_clear()` with `&rev.pending`. > If `rev` is not initialized, this causes a segmentation fault.
It is a bit strange that the paragraph for "detailed explanation" is shorter than the paragraph it attempts to clarify.
Dropping those two words "Detailed explanation:" easily fixes awkwardness ;-).
Show 7 quoted lines
> +test_expect_success 'stash --intent-to-add file' ' > + git reset --hard && > + echo new >file4 && > + git add --intent-to-add file4 && > + test_when_finished "git rm -f file4" && > + test_must_fail git stash > +'
This still must fail because an index with an I-T-A cannot be included in a stash, but test_must_fail will make sure that the command does not suffer an uncontrolled crash. Good.