Fix 342221 - socket connect produce false positive saying access to uninitialized memory area
As we check what follows af_family, the length to check must be decreased
by sizeof(af_maily)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14835 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index 4597a70..04125f9 100644
--- a/NEWS
+++ b/NEWS
@@ -98,6 +98,7 @@
segment if it is past the heap end
341789 aarch64: shmat fails with valgrind on ARMv8
342063 wrong format specifier for test mcblocklistsearch in gdbserver_tests
+342221 socket connect false positive uninit memory for unknown af family
n-i-bz Provide implementations of certain compiler builtins to support
compilers who may not provide those
n-i-bz Old STABS code is still being compiled, but never used. Remove it.
diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c
index 5c75dda..057052b 100644
--- a/coregrind/m_syswrap/syswrap-generic.c
+++ b/coregrind/m_syswrap/syswrap-generic.c
@@ -1126,7 +1126,7 @@
struct sockaddr_???? has padding bytes between its elements. */
VG_(sprintf) ( outmsg, description, "sa_data" );
PRE_MEM_READ( outmsg, (Addr)&sa->sa_family + sizeof(sa->sa_family),
- salen );
+ salen - sizeof(sa->sa_family));
break;
}