]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
fr_tacacs_length() can return negative. CID #1469155
authorAlan T. DeKok <aland@freeradius.org>
Tue, 12 Apr 2022 18:43:16 +0000 (14:43 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 13 Apr 2022 12:55:23 +0000 (08:55 -0400)
src/listen/tacacs/proto_tacacs_tcp.c

index a0a62ebcf6bfd26d1d81f13049fc9cb882e6c6a2..476b3186cace88d16c59bc0cec26a9b5c0f4d491 100644 (file)
@@ -141,6 +141,8 @@ static ssize_t mod_read(fr_listen_t *li, UNUSED void **packet_ctx, fr_time_t *re
         *      caller that we need to read more.
         */
        packet_len = fr_tacacs_length(buffer, in_buffer);
+       if (packet_len < 0) return -1;
+
        if (in_buffer < packet_len) {
                *leftover = in_buffer;
                return 0;