return NULL;
}
- desc->old_address = desc->remote_address;
+ /* If we return early, there is no connection */
+ desc->old_address.sin_family = 0;
if (desc->accept_fd != -1)
close(desc->accept_fd);
tcptls_session->parent->worker_fn = NULL;
memcpy(&tcptls_session->remote_address, &desc->remote_address, sizeof(tcptls_session->remote_address));
+ /* Set current info */
+ desc->old_address = desc->remote_address;
return tcptls_session;
error:
return;
}
- desc->old_address = desc->local_address;
+ /* If we return early, there is no one listening */
+ desc->old_address.sin_family = 0;
/* Shutdown a running server if there is one */
if (desc->master != AST_PTHREADT_NULL) {
strerror(errno));
goto error;
}
+
+ /* Set current info */
+ desc->old_address = desc->local_address;
return;
error: