A check was performed in buffer_replace2() to compare buffer
length with its read pointer. This has been wrong for a long
time, though it only has an impact when dealing with keep-alive
requests/responses. In theory this should be backported but
the check has no impact without keep-alive.
(cherry picked from commit
43a7e6620b79e0e771dbaf2a60b57c96d9ba60e5)
if (delta + b->r >= b->data + BUFSIZE)
return 0; /* no space left */
- if (b->data + b->l < end) {
- /* The data has been stolen, we could have crashed.
- * Maybe we should abort() ? */
- return 0;
- }
-
/* first, protect the end of the buffer */
memmove(end + delta, end, b->r - end);