diff --git a/src/sys.c b/src/sys.c index 271bfc2..6cecd83 100644 --- a/src/sys.c +++ b/src/sys.c @@ -486,6 +486,7 @@ sys_sockaddr_str(struct sockaddr *addr, socklen_t addrlen, log_err_level_printf(LOG_CRIT, "Cannot get nameinfo for socket address: %s\n", gai_strerror(rv)); free(*serv); + *serv = NULL; return -1; } hostsz = strlen(tmphost) + 1; /* including terminator */ @@ -493,6 +494,7 @@ sys_sockaddr_str(struct sockaddr *addr, socklen_t addrlen, if (!*host) { log_err_level_printf(LOG_CRIT, "Cannot allocate memory\n"); free(*serv); + *serv = NULL; return -1; } memcpy(*host, tmphost, hostsz); diff --git a/tests/testproxy/lp/sys.c b/tests/testproxy/lp/sys.c index 6f38749..33ad1c2 100644 --- a/tests/testproxy/lp/sys.c +++ b/tests/testproxy/lp/sys.c @@ -380,6 +380,7 @@ sys_sockaddr_str(struct sockaddr *addr, socklen_t addrlen, log_err_level_printf(LOG_CRIT, "Cannot get nameinfo for socket address: %s\n", gai_strerror(rv)); free(*serv); + *serv = NULL; return -1; } hostsz = strlen(tmphost) + 1; /* including terminator */ @@ -387,6 +388,7 @@ sys_sockaddr_str(struct sockaddr *addr, socklen_t addrlen, if (!*host) { log_err_level_printf(LOG_CRIT, "Cannot allocate memory\n"); free(*serv); + *serv = NULL; return -1; } memcpy(*host, tmphost, hostsz);