From c7266ff148ad801751c1e3d1e3c14d04b2ebee44 Mon Sep 17 00:00:00 2001 From: Tom Nicklin Date: Sat, 24 Mar 2018 18:58:15 +0000 Subject: [PATCH 1/3] Fixed issue where Valgrind reports points to uninitialised byte(s) in bind call. --- cansend.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cansend.c b/cansend.c index 3938029..ac49de3 100644 --- a/cansend.c +++ b/cansend.c @@ -102,6 +102,8 @@ int main(int argc, char **argv) return 1; } + bzero(&addr,sizeof(struct sockaddr_can)); //zero out the struct + addr.can_family = AF_CAN; addr.can_ifindex = ifr.ifr_ifindex; @@ -136,6 +138,8 @@ int main(int argc, char **argv) /* little (really a very little!) CPU usage. */ setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, NULL, 0); + // bzero(&addr,sizeof(struct sockaddr_can)); //zero out the struct + if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { perror("bind"); return 1; From f8dcc0f8ba4feb1af9536cf43741a2691eac7eee Mon Sep 17 00:00:00 2001 From: Tom Nicklin Date: Sat, 24 Mar 2018 19:02:24 +0000 Subject: [PATCH 2/3] Little fix for valgrind reports uninitialised byte(s) in bind call. --- cansend.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cansend.c b/cansend.c index ac49de3..31f6723 100644 --- a/cansend.c +++ b/cansend.c @@ -103,7 +103,7 @@ int main(int argc, char **argv) } bzero(&addr,sizeof(struct sockaddr_can)); //zero out the struct - + addr.can_family = AF_CAN; addr.can_ifindex = ifr.ifr_ifindex; @@ -137,8 +137,6 @@ int main(int argc, char **argv) /* this reason we can remove the receive list in the Kernel to save a */ /* little (really a very little!) CPU usage. */ setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, NULL, 0); - - // bzero(&addr,sizeof(struct sockaddr_can)); //zero out the struct if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { perror("bind"); From d8bbacfb476d5d26690cdb9910d15fb8600ea9ac Mon Sep 17 00:00:00 2001 From: Tom Nicklin Date: Sat, 24 Mar 2018 19:24:11 +0000 Subject: [PATCH 3/3] Removing a line per @hartkopp instructions. --- cansend.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cansend.c b/cansend.c index 31f6723..0ce6734 100644 --- a/cansend.c +++ b/cansend.c @@ -102,8 +102,7 @@ int main(int argc, char **argv) return 1; } - bzero(&addr,sizeof(struct sockaddr_can)); //zero out the struct - + bzero(&addr,sizeof(struct sockaddr_can)); addr.can_family = AF_CAN; addr.can_ifindex = ifr.ifr_ifindex;