Check setsockopt() return value in net_bind()
diff --git a/library/net.c b/library/net.c
index 53bbf2f..ff48986 100644
--- a/library/net.c
+++ b/library/net.c
@@ -281,8 +281,13 @@
         }
 
         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 );
+            ret = POLARSSL_ERR_NET_SOCKET_FAILED;
+            continue;
+        }
 
         if( bind( *fd, cur->ai_addr, cur->ai_addrlen ) != 0 )
         {