]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Change how the listeners are parented to avoid tripping up mprotect
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Sun, 12 May 2024 23:30:30 +0000 (17:30 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 13 May 2024 13:42:01 +0000 (07:42 -0600)
src/lib/io/master.c
src/lib/io/network.c

index 8432e7dc4ca5d2bfbf0f04060721ccca67b85033..42d6cc30c915e39282c4513a338b9c4f5387dd8d 100644 (file)
@@ -2932,7 +2932,7 @@ int fr_master_io_listen(TALLOC_CTX *ctx, fr_io_instance_t *inst, fr_schedule_t *
         *      path data takes from the socket to the decoder and
         *      back again.
         */
-       MEM(li = talloc_zero(ctx, fr_listen_t));
+       MEM(li = talloc_zero(NULL, fr_listen_t));
        talloc_set_destructor(li, fr_io_listen_free);
 
        /*
index ec96321c80a8a0f17b644a5970878ce49f6d0eea..30ad5a01c7244bec135832405ba4f7dafa42c58f 100644 (file)
@@ -1335,6 +1335,7 @@ static int fr_network_listen_add_self(fr_network_t *nr, fr_listen_t *li)
 
        s = talloc_zero(nr, fr_network_socket_t);
        fr_assert(s != NULL);
+       talloc_steal(s, li);
 
        s->nr = nr;
        s->listen = li;