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;
    }