]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
we're at EOF if we asked for N bytes, and got M<N
authorAlan T. DeKok <aland@freeradius.org>
Fri, 10 Nov 2017 20:12:15 +0000 (15:12 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 10 Nov 2017 20:12:15 +0000 (15:12 -0500)
src/modules/proto_detail/proto_detail_work.c

index fed821e25b53b9ae8dba355d021dfaf4773afc66..b0954c035ac0a7e6b5d5cbcdc86c53785aacf6cd 100644 (file)
@@ -196,7 +196,7 @@ static ssize_t mod_read(void *instance, void **packet_ctx, fr_time_t **recv_time
                 *      Remember the read offset, and whether we got EOF.
                 */
                inst->read_offset = lseek(inst->fd, 0, SEEK_CUR);
-               inst->eof = (data_size == 0) || (inst->read_offset == inst->file_size);
+               inst->eof = (data_size == 0) || (inst->read_offset == inst->file_size) || ((size_t) data_size < room);
                end = partial + data_size;
 
        } else {