Re: [PATCH] attr: fix msan issue in read_attr_from_index
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 17, 2024, 20:08 UTC
- Message-ID
- <xmqqmsnj5o3r.fsf@gitster.g>
- In-Reply-To
- <pull.1747.git.1718654424683.gitgitgadget@gmail.com>
"Kyle Lippincott via GitGitGadget" <gitgitgadget@gmail.com> writes:
> Make the call to `read_attr_from_buf` conditional on `buf` being > non-NULL, ensuring that `size` is not read if it's never set.
Makes good sense.
Show 25 quoted lines
> Signed-off-by: Kyle Lippincott <spectral@google.com>
> ---
> attr: fix msan issue in read_attr_from_index
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1747%2Fspectral54%2Fmsan-attr-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1747/spectral54/msan-attr-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1747
>
> attr.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/attr.c b/attr.c
> index 300f994ba6e..a2e0775f7e5 100644
> --- a/attr.c
> +++ b/attr.c
> @@ -865,7 +865,8 @@ static struct attr_stack *read_attr_from_index(struct index_state *istate,
> stack = read_attr_from_blob(istate, &istate->cache[sparse_dir_pos]->oid, relative_path, flags);
> } else {
> buf = read_blob_data_from_index(istate, path, &size);
> - stack = read_attr_from_buf(buf, size, path, flags);
> + if (buf)
> + stack = read_attr_from_buf(buf, size, path, flags);
> }
> return stack;
> }Not directly related to the issue this patch addresses, but I notice that both buf and size variables have unnecesarily wide scope. As a clean-up we may want to move their declaration into this "} else {" block. But that is totally outside the scope (no pun intended) of this patch.
Will queue. Thanks.