From f2491587f7f59f7d5a6b2897bef1224e111bfd4b Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Sat, 27 Aug 2011 05:47:07 +1200 Subject: [PATCH] Drop excess bytes from gopher input. --- src/gopher.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gopher.cc b/src/gopher.cc index a83991dcdd..11bec54e6a 100644 --- a/src/gopher.cc +++ b/src/gopher.cc @@ -484,6 +484,11 @@ gopherToHTML(GopherStateData * gopherState, char *inbuf, int len) *(gopherState->buf) = '\0'; } else { + if ((len - (pos - inbuf)) > TEMP_BUF_SIZE) { + debugs(10, 1, "GopherHTML: Buffer overflow. Lost some data on URL: " << entry->url()); + len = TEMP_BUF_SIZE; + } + lpos = (char *) memccpy(line, pos, '\n', len - (pos - inbuf)); if (lpos) -- 2.47.3