parser: fix warnings
[olsrd.git] / src / parser.c
index 6c83b3d..b5f3221 100644 (file)
@@ -464,10 +464,12 @@ olsr_input(int fd, void *data __attribute__ ((unused)), unsigned int flags __att
     }
     if (olsr_cnf->ip_version == AF_INET) {
       /* IPv4 sender address */
-      memcpy(&from_addr.v4, &((struct sockaddr_in *)&from)->sin_addr, sizeof(from_addr.v4));
+      void * src = &((struct sockaddr_in *)&from)->sin_addr;
+      memcpy(&from_addr.v4, src, sizeof(from_addr.v4));
     } else {
       /* IPv6 sender address */
-      memcpy(&from_addr.v6, &((struct sockaddr_in6 *)&from)->sin6_addr, sizeof(from_addr.v6));
+      void * src = &((struct sockaddr_in6 *)&from)->sin6_addr;
+      memcpy(&from_addr.v6, src, sizeof(from_addr.v6));
     }
 
 #ifdef DEBUG