Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Feb 2025 23:31:05 GMT
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: e71fff28550b - main - tools/ipbroadcast: make it compilable with modern compiler
Message-ID:  <202502172331.51HNV5OK067240@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=e71fff28550bb0256851835b271acfac4bae59f1

commit e71fff28550bb0256851835b271acfac4bae59f1
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2025-02-17 23:28:52 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2025-02-17 23:28:52 +0000

    tools/ipbroadcast: make it compilable with modern compiler
---
 tools/regression/netinet/ipbroadcast/ipbroadcast.c | 29 +++++++---------------
 1 file changed, 9 insertions(+), 20 deletions(-)

diff --git a/tools/regression/netinet/ipbroadcast/ipbroadcast.c b/tools/regression/netinet/ipbroadcast/ipbroadcast.c
index 6177ce964749..9315ebe2b6ad 100644
--- a/tools/regression/netinet/ipbroadcast/ipbroadcast.c
+++ b/tools/regression/netinet/ipbroadcast/ipbroadcast.c
@@ -91,9 +91,6 @@ usage(void)
 	fprintf(stderr, "-p: Set local and remote port (default: %d)\n",
 	    DEFAULT_PORT);
 	fprintf(stderr, "-R: Use raw IP (protocol %d)\n", IPPROTO_ZEROHOP);
-#if 0
-	fprintf(stderr, "-r: Fill datagram with random bytes\n");
-#endif
 	fprintf(stderr, "-s: Set IP_SENDSRCADDR to <srcaddr>\n");
 	fprintf(stderr, "-t: Set IP_TTL to <ttl>\n");
 
@@ -109,10 +106,8 @@ main(int argc, char *argv[])
 	struct msghdr		 msg;
 	struct sockaddr_in	 dsin;
 	struct sockaddr_in	 laddr;
-	struct sockaddr_dl	*sdl;
 	struct cmsghdr		*cmsgp;
 	struct in_addr		 dstaddr;
-	struct in_addr		*srcaddrp;
 	char			*ifname;
 	char			*laddr_s;
 	char			*srcaddr_s;
@@ -121,7 +116,6 @@ main(int argc, char *argv[])
 	int			 dobroadcast;
 	int			 dontroute;
 	int			 doonesbcast;
-	int			 dorandom;
 	int			 dorawip;
 	size_t			 buflen;
 	ssize_t			 nbytes;
@@ -136,7 +130,6 @@ main(int argc, char *argv[])
 	dobroadcast = 0;
 	dontroute = 0;
 	doonesbcast = 0;
-	dorandom = 0;
 	dorawip = 0;
 
 	ifname = NULL;
@@ -150,7 +143,7 @@ main(int argc, char *argv[])
 	buflen = DEFAULT_PAYLOAD_SIZE;
 
 	progname = basename(argv[0]);
-	while ((ch = getopt(argc, argv, "1A:bBdi:l:p:Rrs:t:")) != -1) {
+	while ((ch = getopt(argc, argv, "1A:bBdi:l:p:Rs:t:")) != -1) {
 		switch (ch) {
 		case '1':
 			doonesbcast = 1;
@@ -179,9 +172,6 @@ main(int argc, char *argv[])
 		case 'R':
 			dorawip = 1;
 			break;
-		case 'r':
-			dorandom = 1;
-			break;
 		case 's':
 			srcaddr_s = optarg;
 			break;
@@ -311,8 +301,9 @@ main(int argc, char *argv[])
 		cmsgp->cmsg_len = CMSG_LEN(sizeof(struct in_addr));
 		cmsgp->cmsg_level = IPPROTO_IP;
 		cmsgp->cmsg_type = IP_SENDSRCADDR;
-		srcaddrp = (struct in_addr *)CMSG_DATA(cmsgp);
-		srcaddrp->s_addr = inet_addr(srcaddr_s);
+		memcpy(CMSG_DATA(cmsgp),
+		    &(struct in_addr){ inet_addr(srcaddr_s) },
+		    sizeof(struct in_addr));
 	}
 
 	if (ifname != NULL) {
@@ -327,13 +318,11 @@ main(int argc, char *argv[])
 		fprintf(stderr, "DEBUG: cmsgp->cmsg_len is %d\n",
 		    cmsgp->cmsg_len);
 #endif
-
-		sdl = (struct sockaddr_dl *)CMSG_DATA(cmsgp);
-		memset(sdl, 0, sizeof(struct sockaddr_dl));
-		sdl->sdl_family = AF_LINK;
-		sdl->sdl_len = sizeof(struct sockaddr_dl);
-		sdl->sdl_index = if_nametoindex(ifname);
-
+		memcpy(CMSG_DATA(cmsgp), &(struct sockaddr_dl){
+		    .sdl_family = AF_LINK,
+		    .sdl_len = sizeof(struct sockaddr_dl),
+		    .sdl_index = if_nametoindex(ifname) },
+		    sizeof(struct sockaddr_dl));
 #ifdef DIAGNOSTIC
 		fprintf(stderr, "DEBUG: sdl->sdl_family is %d\n",
 		    sdl->sdl_family);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502172331.51HNV5OK067240>