diff options
Diffstat (limited to 'winsup/cygwin/fhandler_socket.cc')
-rw-r--r-- | winsup/cygwin/fhandler_socket.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index fa44f2e03..33e795458 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -124,10 +124,13 @@ fhandler_socket::set_connect_secret () delete entropy_source; entropy_source = NULL; } - if (!entropy_source || - (entropy_source->read (connect_secret, sizeof (connect_secret)) != - sizeof (connect_secret))) - bzero ((char*) connect_secret, sizeof (connect_secret)); + if (!entropy_source) + { + size_t len = sizeof (connect_secret); + entropy_source->read (connect_secret, len); + if (len != sizeof (connect_secret)) + bzero ((char*) connect_secret, sizeof (connect_secret)); + } } void |