From 5a416927a1afb25526a67fec59dce684e99a2dcb Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Wed, 2 Sep 2015 18:53:43 +0000 Subject: QPID-6717: Fix issue with BETWEEN comparisons when types don't match git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1700869 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/broker/SelectorExpression.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/qpid/cpp/src/qpid/broker/SelectorExpression.cpp b/qpid/cpp/src/qpid/broker/SelectorExpression.cpp index 1e8a90ed4c..2884dd967a 100644 --- a/qpid/cpp/src/qpid/broker/SelectorExpression.cpp +++ b/qpid/cpp/src/qpid/broker/SelectorExpression.cpp @@ -369,13 +369,10 @@ public: BoolOrNone eval_bool(const SelectorEnv& env) const { Value ve(e->eval(env)); - if (unknown(ve)) return BN_UNKNOWN; Value vl(l->eval(env)); - if (!unknown(vl) && veeval(env)); - if (!unknown(vu) && ve>vu) return BN_FALSE; - if (unknown(vl) || unknown(vu)) return BN_UNKNOWN; - return BN_TRUE; + if (unknown(ve) || unknown(vl) || unknown(vu)) return BN_UNKNOWN; + return BoolOrNone(ve>=vl && ve<=vu); } }; -- cgit v1.2.1