From: Alexander Bainbridge-Sedivy Date: Wed, 3 Jun 2026 20:25:07 +0000 (-0400) Subject: control: ring-buffer leak and ssize_t/size_t mismatch in fr_control_message_pop error... X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fbf4eec03371473a8ca53306c997c069be3f4c8b;p=thirdparty%2Ffreeradius-server.git control: ring-buffer leak and ssize_t/size_t mismatch in fr_control_message_pop error path --- diff --git a/src/lib/io/control.c b/src/lib/io/control.c index c133ceaca5b..eb7aab6404f 100644 --- a/src/lib/io/control.c +++ b/src/lib/io/control.c @@ -96,7 +96,7 @@ static void pipe_read(UNUSED fr_event_list_t *el, int fd, UNUSED int flags, void fr_time_t now; char read_buffer[256]; uint8_t data[256]; - size_t message_size; + ssize_t message_size; uint32_t id = 0; /* @@ -417,6 +417,7 @@ ssize_t fr_control_message_pop(fr_atomic_queue_t *aq, uint32_t *p_id, void *data */ if (data_size < m->data_size) { fr_strerror_printf("Allocation size should be at least %zd", m->data_size); + m->status = FR_CONTROL_MESSAGE_DONE; return -(m->data_size); }