tree 408ef62c2bba429780aa4ad4a6054c7d6671eeed
parent d1039e5dc5a7d08ca4451155d363d62e236b85c2
author Thierry FOURNIER <tfournier@exceliance.fr> 1425465887 +0100
committer Willy Tarreau <w@1wt.eu> 1425472601 +0100
encoding latin1

BUG/MAJOR: lua: send function fails and return bad bytes

In some cases the Lua "send" function fails. This is caused by the
return of "buffer_replace2()" is not tested. I checked avalaible space
in the buffer and I supposed than "buffer_replace2()" took all the
data. In some cases, "buffer_replace2()" cannot take the incoming
data, it returns the amount of data copied.

This patch check the amount of data really copied by "buffer_replace2()"
and advance the buffer with taking this value in account.
