You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The base64 encoded constant (128 in this case) used when doing something like WHERE field > 128, when decoded, is read into a string of which the bytes are retrieved as per the code below. This unfortunately causes the constant to read as the wrong number in a number of cases.
For example, doing > 128, 128 is encoded correctly but then when decoding in this manner the number is being read as 239 and thus obviously the statement doesn't return rows with a value between 128 and 239, a serious issue. The fix is to change the code to:
The base64 encoded constant (128 in this case) used when doing something like WHERE field > 128, when decoded, is read into a string of which the bytes are retrieved as per the code below. This unfortunately causes the constant to read as the wrong number in a number of cases.
PrimitiveComparisonFilter:
For example, doing > 128, 128 is encoded correctly but then when decoding in this manner the number is being read as 239 and thus obviously the statement doesn't return rows with a value between 128 and 239, a serious issue. The fix is to change the code to:
as there is no need to wrap the byte array in a string just to get it back again (which causes the issue).
The text was updated successfully, but these errors were encountered: