From: Alan T. DeKok Date: Fri, 10 Nov 2017 19:46:11 +0000 (-0500) Subject: if there's leftover bytes, ensure there's always more data to read X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bc542aa6cbebb7ff5d00b340b4cd0197c2464dd;p=thirdparty%2Ffreeradius-server.git if there's leftover bytes, ensure there's always more data to read --- diff --git a/src/modules/proto_detail/proto_detail_work.c b/src/modules/proto_detail/proto_detail_work.c index 73c67eac1df..f1d4019328e 100644 --- a/src/modules/proto_detail/proto_detail_work.c +++ b/src/modules/proto_detail/proto_detail_work.c @@ -440,6 +440,11 @@ done: if (!inst->paused) { (void) fr_event_filter_update(inst->el, inst->fd, FR_EVENT_FILTER_IO, pause_read); inst->paused = true; + + /* + * Back up so that read() knows there's more data. + */ + if (*leftover) (void) lseek(inst->fd, inst->read_offset - 1, SEEK_SET); } /*