diff --git a/src/socket.c b/src/socket.c index 048be11..aa3796e 100644 --- a/src/socket.c +++ b/src/socket.c @@ -44,7 +44,7 @@ socketCtor(void * _this, va_list * params) this->type = 0; this->handle = -1; this->log = va_arg(*params, TR_Logger); - this->host = va_arg(*params, char*); + this->host = TR_strdup(va_arg(*params, char*)); this->port = va_arg(*params, int); this->flags = va_arg(*params, int); this->fin_state = TR_FIN_RDWR; @@ -58,6 +58,7 @@ socketDtor(void * _this) { TR_Socket this = _this; + TR_MEM_FREE(this->host); TR_MEM_FREE(this->cname); if (STDERR_FILENO < this->handle) {