Use strdup_or_die() in remember_connection()
[privoxy.git] / gateway.c
index abc7272..ac13c23 100644 (file)
--- a/gateway.c
+++ b/gateway.c
@@ -1,4 +1,4 @@
-const char gateway_rcs[] = "$Id: gateway.c,v 1.84 2012/02/29 19:35:11 fabiankeil Exp $";
+const char gateway_rcs[] = "$Id: gateway.c,v 1.88 2012/10/17 18:11:19 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/gateway.c,v $
@@ -220,17 +220,13 @@ void remember_connection(const struct reusable_connection *connection)
    }
 
    assert(NULL != connection->host);
-   reusable_connection[slot].host = strdup(connection->host);
-   if (NULL == reusable_connection[slot].host)
-   {
-      log_error(LOG_LEVEL_FATAL, "Out of memory saving socket.");
-   }
+   reusable_connection[slot].host = strdup_or_die(connection->host);
    reusable_connection[slot].sfd = connection->sfd;
    reusable_connection[slot].port = connection->port;
    reusable_connection[slot].in_use = 0;
    reusable_connection[slot].timestamp = connection->timestamp;
-   reusable_connection->request_sent = connection->request_sent;
-   reusable_connection->response_received = connection->response_received;
+   reusable_connection[slot].request_sent = connection->request_sent;
+   reusable_connection[slot].response_received = connection->response_received;
    reusable_connection[slot].keep_alive_timeout = connection->keep_alive_timeout;
 
    assert(reusable_connection[slot].gateway_host == NULL);
@@ -242,11 +238,7 @@ void remember_connection(const struct reusable_connection *connection)
    reusable_connection[slot].forwarder_type = connection->forwarder_type;
    if (NULL != connection->gateway_host)
    {
-      reusable_connection[slot].gateway_host = strdup(connection->gateway_host);
-      if (NULL == reusable_connection[slot].gateway_host)
-      {
-         log_error(LOG_LEVEL_FATAL, "Out of memory saving gateway_host.");
-      }
+      reusable_connection[slot].gateway_host = strdup_or_die(connection->gateway_host);
    }
    else
    {
@@ -256,11 +248,7 @@ void remember_connection(const struct reusable_connection *connection)
 
    if (NULL != connection->forward_host)
    {
-      reusable_connection[slot].forward_host = strdup(connection->forward_host);
-      if (NULL == reusable_connection[slot].forward_host)
-      {
-         log_error(LOG_LEVEL_FATAL, "Out of memory saving forward_host.");
-      }
+      reusable_connection[slot].forward_host = strdup_or_die(connection->forward_host);
    }
    else
    {
@@ -377,7 +365,7 @@ int connection_destination_matches(const struct reusable_connection *connection,
       return FALSE;
    }
 
-   if ((   (NULL != connection->gateway_host)
+   if ((    (NULL != connection->gateway_host)
          && (NULL != fwd->gateway_host)
          && strcmpic(connection->gateway_host, fwd->gateway_host))
        && (connection->gateway_host != fwd->gateway_host))
@@ -388,7 +376,7 @@ int connection_destination_matches(const struct reusable_connection *connection,
       return FALSE;
    }
 
-   if ((   (NULL != connection->forward_host)
+   if ((    (NULL != connection->forward_host)
          && (NULL != fwd->forward_host)
          && strcmpic(connection->forward_host, fwd->forward_host))
       && (connection->forward_host != fwd->forward_host))
@@ -1077,7 +1065,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
    strncpy(cbuf + client_pos, target_host, sizeof(cbuf) - client_pos);
    client_pos += (hostlen & 0xffu);
    cbuf[client_pos++] = (char)((target_port >> 8) & 0xff);
-   cbuf[client_pos++] = (char)((target_port    ) & 0xff);
+   cbuf[client_pos++] = (char)((target_port     ) & 0xff);
 
    if (write_socket(sfd, cbuf, client_pos))
    {
@@ -1116,16 +1104,7 @@ static jb_socket socks5_connect(const struct forward_spec *fwd,
 
    assert(errstr != NULL);
    csp->error_message = strdup(errstr);
-   if (server_size == -1)
-   {
-      /*
-       * We didn't read() anything from the server at all.
-       * Don't try to log a negative number of characters
-       * which could trigger an assert().
-       */
-      server_size = 0;
-   }
-   log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s: %N", errstr, server_size, sbuf);
+   log_error(LOG_LEVEL_CONNECT, "socks5_connect: %s", errstr);
    close_socket(sfd);
    errno = EINVAL;