diff --git a/lib/server.c b/lib/server.c
index a821371c8c0205c2fe67f876b9fc5e652ab1d823..ab8b0a4d9cc19441adb2e0569c35a16573079bbd 100644
--- a/lib/server.c
+++ b/lib/server.c
@@ -2659,7 +2659,7 @@ lws_chunked_html_process(struct lws_process_html_args *args,
 			if (!s->pos)
 				s->start = sp;
 			s->swallow[s->pos++] = *sp;
-			if (s->pos == sizeof(s->swallow))
+			if (s->pos == sizeof(s->swallow) - 1)
 				goto skip;
 			for (n = 0; n < s->count_vars; n++)
 				if (!strncmp(s->swallow, s->vars[n], s->pos)) {