CLEANUP: stats: Avoid computation with uninitialized bits.

stats_map_lookup() sets bit SMP_F_CONST in the uninitialized member
flags of a stack-allocated sample, leaving the other bits
uninitialized.  All code paths that can access the struct only ever
check for this specific flag, so there is no risk of unintended
behavior.

Nevertheless fix it as it triggers warnings in static code analysis
tools and might become a problem on future revisions of the code.

Problem found in version 1.5.
This commit is contained in:
Andreas Seltenreich 2016-03-03 19:32:25 +01:00 committed by Willy Tarreau
parent 23d19d669b
commit 9727cf482c

View File

@ -5858,7 +5858,7 @@ static int stats_map_lookup(struct stream_interface *si)
/* execute pattern matching */
sample.data.type = SMP_T_STR;
sample.flags |= SMP_F_CONST;
sample.flags = SMP_F_CONST;
sample.data.u.str.len = appctx->ctx.map.chunk.len;
sample.data.u.str.str = appctx->ctx.map.chunk.str;
if (appctx->ctx.map.expr->pat_head->match &&