BUG/MINOR: stick-table: Always call smp_fetch_src() with a valid arg list

The sample fetch functions must always be called with a valid argument
list. When called by hand, if there is no argument to pass, empty_arg_list must
be used.

In the stick-table code, there are some calls to smp_fetch_src() with NULL as
argument list. It is changed to use empty_arg_list instead. It is not really a
bug because smp_fetch_src() does not use the argument list. But it is an API
bug.

This patch may be backported to all stable branches as a cleanup.
This commit is contained in:
Christopher Faulet 2021-01-29 10:27:47 +01:00
parent 1faeb4c710
commit bdbd5db2a5

View File

@ -2247,7 +2247,7 @@ smp_fetch_sc_stkctr(struct session *sess, struct stream *strm, const struct arg
smp.px = NULL;
smp.sess = sess;
smp.strm = strm;
if (!smp_fetch_src || !smp_fetch_src(NULL, &smp, NULL, NULL))
if (!smp_fetch_src || !smp_fetch_src(empty_arg_list, &smp, NULL, NULL))
return NULL;
/* Converts into key. */
@ -2312,7 +2312,7 @@ smp_create_src_stkctr(struct session *sess, struct stream *strm, const struct ar
smp.px = NULL;
smp.sess = sess;
smp.strm = strm;
if (!smp_fetch_src || !smp_fetch_src(NULL, &smp, NULL, NULL))
if (!smp_fetch_src || !smp_fetch_src(empty_arg_list, &smp, NULL, NULL))
return NULL;
/* Converts into key. */
@ -2844,7 +2844,7 @@ smp_fetch_src_updt_conn_cnt(const struct arg *args, struct sample *smp, const ch
return 0;
/* Fetch source address in a sample. */
if (!smp_fetch_src || !smp_fetch_src(NULL, smp, NULL, NULL))
if (!smp_fetch_src || !smp_fetch_src(empty_arg_list, smp, NULL, NULL))
return 0;
/* Converts into key. */