diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-04-14 13:49:04 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 13:49:04 +0900 |
commit | 13524b29a2833675518b5d5701344196429cb924 (patch) | |
tree | 2d77cfb4f9010b3c707dfc699a5b9b06043d8016 /src/journal | |
parent | 2cba2fcd250b0afa543ae4d8869231d16bc28a87 (diff) | |
parent | ca918f63b7a98442d2925c0a668c911d8140215b (diff) | |
download | systemd-13524b29a2833675518b5d5701344196429cb924.tar.gz |
Merge pull request #27254 from poettering/cmsg-align-check
socket-util: tighten CMSG_TYPED_DATA() alignment checks
Diffstat (limited to 'src/journal')
-rw-r--r-- | src/journal/journald-server.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c index 4d1820f9b0..b952269e2e 100644 --- a/src/journal/journald-server.c +++ b/src/journal/journald-server.c @@ -1486,21 +1486,21 @@ int server_process_datagram( cmsg->cmsg_type == SCM_CREDENTIALS && cmsg->cmsg_len == CMSG_LEN(sizeof(struct ucred))) { assert(!ucred); - ucred = (struct ucred*) CMSG_DATA(cmsg); + ucred = CMSG_TYPED_DATA(cmsg, struct ucred); } else if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_SECURITY) { assert(!label); - label = (char*) CMSG_DATA(cmsg); + label = CMSG_TYPED_DATA(cmsg, char); label_len = cmsg->cmsg_len - CMSG_LEN(0); } else if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SO_TIMESTAMP && cmsg->cmsg_len == CMSG_LEN(sizeof(struct timeval))) { assert(!tv); - tv = (struct timeval*) CMSG_DATA(cmsg); + tv = CMSG_TYPED_DATA(cmsg, struct timeval); } else if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { assert(!fds); - fds = (int*) CMSG_DATA(cmsg); + fds = CMSG_TYPED_DATA(cmsg, int); n_fds = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); } |