net_prepare() returns int
diff --git a/library/net.c b/library/net.c
index 19f699d..0528000 100644
--- a/library/net.c
+++ b/library/net.c
@@ -122,7 +122,7 @@
/*
* Prepare for using the sockets interface
*/
-static void net_prepare( void )
+static int net_prepare( void )
{
#if ( defined(_WIN32) || defined(_WIN32_WCE) ) && !defined(EFIX64) && \
!defined(EFI32)
@@ -139,6 +139,7 @@
#if !defined(EFIX64) && !defined(EFI32)
signal( SIGPIPE, SIG_IGN );
#endif
+ return( 0 );
#endif
}
@@ -148,11 +149,12 @@
int net_connect( int *fd, const char *host, int port )
{
#if defined(POLARSSL_HAVE_IPV6)
- int ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
+ int ret;
struct addrinfo hints, *addr_list, *cur;
char port_str[6];
- net_prepare();
+ if( ( ret = net_prepare() ) != 0 )
+ return( ret );
/* getaddrinfo expects port as a string */
memset( port_str, 0, sizeof( port_str ) );
@@ -168,6 +170,7 @@
return( POLARSSL_ERR_NET_UNKNOWN_HOST );
/* Try the sockaddrs until a connection succeeds */
+ ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
for( cur = addr_list; cur != NULL; cur = cur->ai_next )
{
*fd = socket( cur->ai_family, cur->ai_socktype, cur->ai_protocol );
@@ -194,10 +197,12 @@
#else
/* Legacy IPv4-only version */
+ int ret;
struct sockaddr_in server_addr;
struct hostent *server_host;
- net_prepare();
+ if( ( ret = net_prepare() ) != 0 )
+ return( ret );
if( ( server_host = gethostbyname( host ) ) == NULL )
return( POLARSSL_ERR_NET_UNKNOWN_HOST );
@@ -229,11 +234,12 @@
int net_bind( int *fd, const char *bind_ip, int port )
{
#if defined(POLARSSL_HAVE_IPV6)
- int n, ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
+ int n, ret;
struct addrinfo hints, *addr_list, *cur;
char port_str[6];
- net_prepare();
+ if( ( ret = net_prepare() ) != 0 )
+ return( ret );
/* getaddrinfo expects port as a string */
memset( port_str, 0, sizeof( port_str ) );
@@ -251,6 +257,7 @@
return( POLARSSL_ERR_NET_UNKNOWN_HOST );
/* Try the sockaddrs until a binding succeeds */
+ ret = POLARSSL_ERR_NET_UNKNOWN_HOST;
for( cur = addr_list; cur != NULL; cur = cur->ai_next )
{
*fd = socket( cur->ai_family, cur->ai_socktype, cur->ai_protocol );
@@ -290,10 +297,11 @@
#else
/* Legacy IPv4-only version */
- int n, c[4];
+ int ret, n, c[4];
struct sockaddr_in server_addr;
- net_prepare();
+ if( ( ret = net_prepare() ) != 0 )
+ return( ret );
if( ( *fd = (int) socket( AF_INET, SOCK_STREAM, IPPROTO_IP ) ) < 0 )
return( POLARSSL_ERR_NET_SOCKET_FAILED );