From d7c3f236105462b73bc4f16a682dff20c0a1c2fd Mon Sep 17 00:00:00 2001 From: Robert James Kaes Date: Wed, 24 Apr 2002 16:48:34 +0000 Subject: bind_address has been moved inside the config structure. Fixed up a problem where "data" was being freed even if it had not been allocated (because of an error condition.) --- src/sock.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/sock.c b/src/sock.c index b38446e..dd5df1d 100644 --- a/src/sock.c +++ b/src/sock.c @@ -1,4 +1,4 @@ -/* $Id: sock.c,v 1.32 2002-04-22 19:35:24 rjkaes Exp $ +/* $Id: sock.c,v 1.33 2002-04-24 16:48:34 rjkaes Exp $ * * Sockets are created and destroyed here. When a new connection comes in from * a client, we need to copy the socket and the create a second socket to the @@ -111,15 +111,15 @@ opensock(char *ip_addr, uint16_t port) } /* Bind to our listening address*/ - if (bind_address) { + if (config.bind_address) { memset(&bind_addr, 0, sizeof(bind_addr)); bind_addr.sin_family = AF_INET; - bind_addr.sin_addr.s_addr = inet_addr(bind_address); + bind_addr.sin_addr.s_addr = inet_addr(config.bind_address); ret = bind(sock_fd, (struct sockaddr *)&bind_addr, sizeof(bind_addr)); if (ret < 0) { log_message(LOG_ERR, "Could not bind local address \"%\" because of %s", - bind_address, + config.bind_address, strerror(errno)); return -1; } @@ -483,7 +483,8 @@ readline(int fd, char **whole_buffer) CLEANUP: do { line_ptr = first_line->next; - safefree(first_line->data); + if (first_line->data) + safefree(first_line->data); safefree(first_line); first_line = line_ptr; } while (first_line); -- cgit v1.2.3