From 6c7542a3ffa21374222621ac8870a28a6dc27e0d Mon Sep 17 00:00:00 2001 From: Marc Kleine-Budde Date: Tue, 4 Jul 2023 09:19:08 +0200 Subject: [PATCH] candump: main(): use C99 initializers for struct sockaddr_can addr By using C99 initializers for struct sockaddr_can addr the not assigned members are automatically set to 0x0, resulting in not passing uninitialized memory to the bind() syscall. --- candump.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/candump.c b/candump.c index d855020..8e4444f 100644 --- a/candump.c +++ b/candump.c @@ -299,7 +299,9 @@ int main(int argc, char **argv) int currmax, numfilter; int join_filter; char *ptr, *nptr; - struct sockaddr_can addr; + struct sockaddr_can addr = { + .can_family = AF_CAN, + }; char ctrlmsg[CMSG_SPACE(sizeof(struct timeval)) + CMSG_SPACE(3 * sizeof(struct timespec)) + CMSG_SPACE(sizeof(__u32))]; @@ -505,8 +507,6 @@ int main(int argc, char **argv) if (nbytes > max_devname_len) max_devname_len = nbytes; /* for nice printing */ - addr.can_family = AF_CAN; - memset(&ifr.ifr_name, 0, sizeof(ifr.ifr_name)); strncpy(ifr.ifr_name, ptr, nbytes);