"Kyle Lippincott via GitGitGadget" <gitgitgadget@xxxxxxxxx> 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. > Signed-off-by: Kyle Lippincott <spectral@xxxxxxxxxx> > --- > 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.