]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
look at listener only if it exists
authorAlan T. DeKok <aland@freeradius.org>
Fri, 29 Jan 2021 19:47:58 +0000 (14:47 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 29 Jan 2021 19:48:19 +0000 (14:48 -0500)
by pushing checks for size to code where it exists

src/lib/io/worker.c

index a66fbb14c9101a3a1f61f5126ab8f944362234a4..e04c207410e8ced334bc4bf9a730537755e16792 100644 (file)
@@ -388,6 +388,11 @@ static void worker_send_reply(fr_worker_t *worker, request_t *request, size_t si
                goto finished;
        }
 
+       if (!size) {
+               size = request->async->listen->app_io->default_reply_size;
+               if (!size) size = request->async->listen->app_io->default_message_size;
+       }
+
        /*
         *      Allocate and send the reply.
         */
@@ -864,7 +869,6 @@ nak:
  */
 static void worker_run_request(fr_worker_t *worker, fr_time_t start)
 {
-       ssize_t size;
        rlm_rcode_t final;
        request_t *request;
        fr_time_t now;
@@ -957,11 +961,8 @@ redo:
                (void) rbtree_deletebydata(worker->dedup, request);
        }
 
-       size = request->async->listen->app_io->default_reply_size;
-       if (!size) size = request->async->listen->app_io->default_message_size;
-
        now = fr_time();
-       worker_send_reply(worker, request, size, now);
+       worker_send_reply(worker, request, 0, now);
        now = fr_time();
 
 keep_going: