Check setsockopt() return value in net_bind()
diff --git a/library/net.c b/library/net.c
index 6333b0f..dda5209 100644
--- a/library/net.c
+++ b/library/net.c
@@ -176,8 +176,12 @@
return( POLARSSL_ERR_NET_SOCKET_FAILED );
n = 1;
- setsockopt( *fd, SOL_SOCKET, SO_REUSEADDR,
- (const char *) &n, sizeof( n ) );
+ if( setsockopt( *fd, SOL_SOCKET, SO_REUSEADDR,
+ (const char *) &n, sizeof( n ) ) != 0 )
+ {
+ close( *fd );
+ return( POLARSSL_ERR_NET_SOCKET_FAILED );
+ }
server_addr.sin_addr.s_addr = net_htonl( INADDR_ANY );
server_addr.sin_family = AF_INET;