]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
let's remove the timer events when we free the socket, m'kay?
authorAlan T. DeKok <aland@freeradius.org>
Thu, 30 Mar 2023 02:26:33 +0000 (11:26 +0900)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 30 Mar 2023 02:26:33 +0000 (11:26 +0900)
src/main/process.c

index dd23cdc9227ac2f7b8f5ed00ad9735e45e247ef5..a6b2dc4921ecc1d388948d416e87ff6f3bca568f 100644 (file)
@@ -5340,11 +5340,11 @@ static void event_status(struct timeval *wake)
 static void listener_free_cb(void *ctx)
 {
        rad_listen_t *this = talloc_get_type_abort(ctx, rad_listen_t);
+       listen_socket_t *sock = this->data;
        char buffer[1024];
 
        if (this->count > 0) {
                struct timeval when;
-               listen_socket_t *sock = this->data;
 
                fr_event_now(el, &when);
                when.tv_sec += 3;
@@ -5365,6 +5365,7 @@ static void listener_free_cb(void *ctx)
        this->print(this, buffer, sizeof(buffer));
        DEBUG("... cleaning up socket %s", buffer);
        rad_assert(this->next == NULL);
+       TALLOC_FREE(&sock->ev);
        talloc_free(this);
 }