diff options
| author | Rodrigo Arias Mallo <rodarima@gmail.com> | 2026-05-27 23:01:16 +0200 |
|---|---|---|
| committer | Rodrigo Arias Mallo <rodarima@gmail.com> | 2026-05-27 23:01:16 +0200 |
| commit | d8055639af10041cec953d33a93cae390aec1050 (patch) | |
| tree | 96ab4a79a9ded9bf3e9a2af43700849a049a0639 | |
| parent | a32f74522f990c46415977afcd06d0e8d162ea55 (diff) | |
Consider the case when i == len and avoid reading buf[i].
Reported-by: Ben Collver <bencollver@riseup.net>
| -rw-r--r-- | gopher.filter.dpi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gopher.filter.dpi.c b/gopher.filter.dpi.c index 5a1942a..2bae15e 100644 --- a/gopher.filter.dpi.c +++ b/gopher.filter.dpi.c @@ -329,7 +329,7 @@ static void compact_buf(char *buf, size_t start, size_t end) { static size_t read_line(char *buf, size_t len) { size_t i; for (i = 0; i < len && buf[i] != '\r' && buf[i] != '\n'; i++); - if (buf[i] == '\r' || buf[i] == '\n') { + if (i < len && (buf[i] == '\r' || buf[i] == '\n')) { if (i+1 < len && buf[i+1] == '\n') i++; render_line(buf, i); return i+1; |
