]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Only allocate the next message if there are leftover bytes
authorNick Porter <nick@portercomputing.co.uk>
Fri, 6 Feb 2026 12:31:30 +0000 (12:31 +0000)
committerNick Porter <nick@portercomputing.co.uk>
Fri, 6 Feb 2026 12:32:01 +0000 (12:32 +0000)
src/lib/io/network.c

index 4d049bff8ca0f3f338c79bd7292ee3866c6c2be7..a1d0f2bbe54b8e7d827412002d5985a32d589c5f 100644 (file)
@@ -988,12 +988,16 @@ next_message:
                 *      There are leftover bytes in the buffer, feed
                 *      them to the next round of reading.
                 */
-               next = (fr_channel_data_t *) fr_message_alloc_reserve(s->ms, &cd->m, data_size, s->leftover,
-                                                                     s->listen->default_message_size);
-               if (!next) {
-                       PERROR("Failed reserving partial packet.");
-                       // @todo - probably close the socket...
-                       fr_assert(0 == 1);
+               if (s->leftover) {
+                       next = (fr_channel_data_t *) fr_message_alloc_reserve(s->ms, &cd->m, data_size, s->leftover,
+                                                                             s->listen->default_message_size);
+                       if (!next) {
+                               PERROR("Failed reserving partial packet.");
+                               // @todo - probably close the socket...
+                               fr_assert(0 == 1);
+                       }
+               } else {
+                       next = NULL;
                }
        }