BUG: payload: fix payload not retrieving arbitrary lengths

This fixes a regression introduced in d7bdcb874bcb, that removed the
ability to use req.payload(0,0) to read the whole buffer content. The
offending commit is present starting in version 1.6, so the patch
should be backported to versions 1.6 and 1.7.
This commit is contained in:
Felipe Guerreiro Barbosa Ruiz 2017-03-16 17:01:41 -03:00 committed by Willy Tarreau
parent de40d798de
commit 00f55524e0

View File

@ -838,7 +838,7 @@ smp_fetch_payload(const struct arg *arg_p, struct sample *smp, const char *kw, v
return 0; return 0;
chn = ((smp->opt & SMP_OPT_DIR) == SMP_OPT_DIR_RES) ? &smp->strm->res : &smp->strm->req; chn = ((smp->opt & SMP_OPT_DIR) == SMP_OPT_DIR_RES) ? &smp->strm->res : &smp->strm->req;
if (!buf_size || buf_size > global.tune.bufsize || buf_offset + buf_size > global.tune.bufsize) { if (buf_size > global.tune.bufsize || buf_offset + buf_size > global.tune.bufsize) {
/* will never match */ /* will never match */
smp->flags = 0; smp->flags = 0;
return 0; return 0;