You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2022/08/26 17:36:05 UTC

[GitHub] [incubator-nuttx-apps] pkarashchenko commented on a diff in pull request #1294: fix use of addroute/delroute

pkarashchenko commented on code in PR #1294:
URL: https://github.com/apache/incubator-nuttx-apps/pull/1294#discussion_r956258533


##########
examples/mld/mld_main.c:
##########
@@ -359,31 +360,31 @@ int main(int argc, FAR char *argv[])
 
   /* Set up a routing table entry for the address of the multicast group */
 
-  memset(&target, 0, sizeof(struct sockaddr_in6));
-  target.sin6_family  = AF_INET6;
-  target.sin6_port    = HTONS(0x4321);
-  memcpy(target.sin6_addr.s6_addr16, g_grp_addr, sizeof(struct in6_addr));
+  memset(&target, 0, sizeof(target));
+  v6_addr = (struct sockaddr_in6 *)&target;
+  v6_addr->sin6_family  = AF_INET6;
+  v6_addr->sin6_port    = HTONS(0x4321);
+  memcpy(v6_addr->sin6_addr.s6_addr16, g_grp_addr, sizeof(struct in6_addr));
 
-  memset(&netmask, 0, sizeof(struct sockaddr_in6));
-  netmask.sin6_family  = AF_INET6;
-  netmask.sin6_port    = HTONS(0x4321);
-  memset(netmask.sin6_addr.s6_addr16, 0xff, sizeof(struct in6_addr));
+  memset(&netmask, 0, sizeof(netmask));
+  v6_addr = (struct sockaddr_in6 *)&netmask;

Review Comment:
   ```suggestion
     v6_addr = (FAR struct sockaddr_in6 *)&netmask;
   ```
   



##########
examples/mld/mld_main.c:
##########
@@ -359,31 +360,31 @@ int main(int argc, FAR char *argv[])
 
   /* Set up a routing table entry for the address of the multicast group */
 
-  memset(&target, 0, sizeof(struct sockaddr_in6));
-  target.sin6_family  = AF_INET6;
-  target.sin6_port    = HTONS(0x4321);
-  memcpy(target.sin6_addr.s6_addr16, g_grp_addr, sizeof(struct in6_addr));
+  memset(&target, 0, sizeof(target));
+  v6_addr = (struct sockaddr_in6 *)&target;

Review Comment:
   ```suggestion
     v6_addr = (FAR struct sockaddr_in6 *)&target;
   ```
   



##########
netutils/netlib/netlib_setdripv4addr.c:
##########
@@ -66,18 +66,21 @@ int netlib_set_dripv4addr(FAR const char *ifname,
   int ret = ERROR;
 
 #ifdef CONFIG_NET_ROUTE
-  struct sockaddr_in target;
-  struct sockaddr_in netmask;
-  struct sockaddr_in router;
+  FAR struct sockaddr_in *v4_addr;
+  struct sockaddr_storage target;
+  struct sockaddr_storage netmask;
+  struct sockaddr_storage router;
 
   memset(&target, 0, sizeof(target));
-  target.sin_family  = AF_INET;
+  target.ss_family  = AF_INET;
 
   memset(&netmask, 0, sizeof(netmask));
-  netmask.sin_family  = AF_INET;
+  netmask.ss_family  = AF_INET;
 
-  router.sin_addr    = *addr;
-  router.sin_family  = AF_INET;
+  memset(&router, 0, sizeof(router));
+  v4_addr = (struct sockaddr_in *)&router;

Review Comment:
   ```suggestion
     v4_addr = (FAR struct sockaddr_in *)&router;
   ```
   



##########
examples/mld/mld_main.c:
##########
@@ -359,31 +360,31 @@ int main(int argc, FAR char *argv[])
 
   /* Set up a routing table entry for the address of the multicast group */
 
-  memset(&target, 0, sizeof(struct sockaddr_in6));
-  target.sin6_family  = AF_INET6;
-  target.sin6_port    = HTONS(0x4321);
-  memcpy(target.sin6_addr.s6_addr16, g_grp_addr, sizeof(struct in6_addr));
+  memset(&target, 0, sizeof(target));
+  v6_addr = (struct sockaddr_in6 *)&target;
+  v6_addr->sin6_family  = AF_INET6;
+  v6_addr->sin6_port    = HTONS(0x4321);
+  memcpy(v6_addr->sin6_addr.s6_addr16, g_grp_addr, sizeof(struct in6_addr));
 
-  memset(&netmask, 0, sizeof(struct sockaddr_in6));
-  netmask.sin6_family  = AF_INET6;
-  netmask.sin6_port    = HTONS(0x4321);
-  memset(netmask.sin6_addr.s6_addr16, 0xff, sizeof(struct in6_addr));
+  memset(&netmask, 0, sizeof(netmask));
+  v6_addr = (struct sockaddr_in6 *)&netmask;
+  v6_addr->sin6_family  = AF_INET6;
+  v6_addr->sin6_port    = HTONS(0x4321);
+  memset(v6_addr->sin6_addr.s6_addr16, 0xff, sizeof(struct in6_addr));
 
-  memset(&router, 0, sizeof(struct sockaddr_in6));
-  router.sin6_family  = AF_INET6;
-  router.sin6_port    = HTONS(0x4321);
+  memset(&router, 0, sizeof(router));
+  v6_addr = (struct sockaddr_in6 *)&router;

Review Comment:
   ```suggestion
     v6_addr = (FAR struct sockaddr_in6 *)&router;
   ```
   



##########
examples/mld/mld_main.c:
##########
@@ -258,9 +258,10 @@ int main(int argc, FAR char *argv[])
   FAR char *iobuffer = NULL;
   struct sockaddr_in6 host;
 #ifdef CONFIG_NET_ROUTE
-  struct sockaddr_in6 target;
-  struct sockaddr_in6 router;
-  struct sockaddr_in6 netmask;
+  struct sockaddr_storage target;

Review Comment:
   Changing to `struct sockaddr_storage` in this block leads to quite a significant stack increase. Do we need to change application default stack value or the current value is sufficient?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org