mirror of
https://github.com/haproxy/haproxy.git
synced 2026-06-08 16:23:24 -04:00
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.
This commit is contained in:
parent
d1039e5dc5
commit
506e46c352
1 changed files with 1 additions and 1 deletions
|
|
@ -2091,7 +2091,7 @@ __LJMP static int _hlua_channel_send(lua_State *L)
|
|||
if (max > len - l)
|
||||
max = len - l;
|
||||
|
||||
buffer_replace2(chn->chn->buf, chn->chn->buf->p, chn->chn->buf->p, str+l, max);
|
||||
max = buffer_replace2(chn->chn->buf, chn->chn->buf->p, chn->chn->buf->p, str+l, max);
|
||||
/* buffer replace considers that the input part is filled.
|
||||
* so, I must forward these new data in the output part.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue