Skip to content

Commit 1bbec26

Browse files
committed
attr_file: completely initialize attribute sessions
The function `git_attr_session__init` is currently only initializing setting up the attribute's session key by incrementing the repo-global key by one. Most notably, all other members of the `git_attr_session` struct are not getting initialized at all. So if one is to allocate a session on the stack and then calls `git_attr_session__init`, the session will still not be fully initialized. We have fared just fine with that until now as all users of the function have allocated the session structure as part of bigger structs with `calloc`, and thus its contents have been zero-initialized implicitly already. Fix this by explicitly zeroing out the session to enable allocation of sessions on the stack.
1 parent 18a6d9f commit 1bbec26

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

src/attr_file.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -919,6 +919,7 @@ int git_attr_session__init(git_attr_session *session, git_repository *repo)
919919
{
920920
assert(repo);
921921

922+
memset(session, 0, sizeof(*session));
922923
session->key = git_atomic_inc(&repo->attr_session_key);
923924

924925
return 0;

0 commit comments

Comments
 (0)