[master] 39a03ec60 Avoid flexelint 419 warning for memcpy to a union
Nils Goroll
nils.goroll at uplex.de
Sat Apr 4 11:12:11 UTC 2020
commit 39a03ec60cfb48602d78530de04549fd6012dc41
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Sat Apr 4 12:28:54 2020 +0200
Avoid flexelint 419 warning for memcpy to a union
Closes #3275
diff --git a/lib/libvarnish/vsa.c b/lib/libvarnish/vsa.c
index 6c593132f..31703c547 100644
--- a/lib/libvarnish/vsa.c
+++ b/lib/libvarnish/vsa.c
@@ -323,7 +323,16 @@ VSA_Build(void *d, const void *s, unsigned sal)
return (NULL);
INIT_OBJ(sua, SUCKADDR_MAGIC);
- memcpy(&sua->sa, s, sal);
+ switch (sal) {
+ case sizeof sua->sa4:
+ memcpy(&sua->sa4, s, sal);
+ break;
+ case sizeof sua->sa6:
+ memcpy(&sua->sa6, s, sal);
+ break;
+ default:
+ WRONG("VSA protocol vs. size");
+ }
#ifdef HAVE_STRUCT_SOCKADDR_SA_LEN
sua->sa.sa_len = (unsigned char)sal;
#endif
More information about the varnish-commit
mailing list