Additionally initialize fd_set's via memset in mbedtls_net_poll

The initialization via FD_SET is not seen by memory sanitizers if
FD_SET is implemented through assembly. Additionally zeroizing the
respective fd_set's before calling FD_SET contents the sanitizers
and comes at a negligible computational overhead.
diff --git a/library/net_sockets.c b/library/net_sockets.c
index cdc2376..f99d339 100644
--- a/library/net_sockets.c
+++ b/library/net_sockets.c
@@ -275,7 +275,7 @@
 static int net_would_block( const mbedtls_net_context *ctx )
 {
     int err = errno;
-    
+
     /*
      * Never return 'WOULD BLOCK' on a non-blocking socket
      */
@@ -459,6 +459,12 @@
     if( fd < 0 )
         return( MBEDTLS_ERR_NET_INVALID_CONTEXT );
 
+    /* Ensure that memory sanitizers consider
+     * read_fds and write_fds as initialized even
+     * if FD_ZERO is implemented in assembly. */
+    memset( &read_fds, 0, sizeof( read_fds ) );
+    memset( &write_fds, 0, sizeof( write_fds ) );
+
     FD_ZERO( &read_fds );
     if( rw & MBEDTLS_NET_POLL_READ )
     {