diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-03-08 10:31:06 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-03-08 10:31:06 +0200 |
commit | 6860a4b55664d8fc53636906240c089417e1849d (patch) | |
tree | ed347d4d9e78412f46086aa66d545bc9e759ced1 /mysys/my_context.c | |
parent | 9c47beb8bd7e60f00e434d8c1e4bbf2b0befb28c (diff) | |
download | mariadb-git-6860a4b55664d8fc53636906240c089417e1849d.tar.gz |
MDEV-12206 Query_cache::send_result_to_client() may corrupt THD::query_plan_flags
This is essentially a backport of the 10.0
commit 203f4d41930a140d469aeca9840a7b226afeaaf6
that fixes a bug and silences a GCC 6.3.0 warning
about a left shift of a signed integer.
Missing parenthesis in a macro definition caused wrong operation
in the Query_cache::send_result_to_client() statement
thd->query_plan_flags= (thd->query_plan_flags & ~QPLAN_QC_NO) | QPLAN_QC;
This would expand to
thd->query_plan_flags= (thd->query_plan_flags & ~1) << 6 | 1 << 5;
which would shift the flags by 6 and clear an unrelated flag, instead
of clearing the flag (1 << 6).
Diffstat (limited to 'mysys/my_context.c')
0 files changed, 0 insertions, 0 deletions