aboutsummaryrefslogtreecommitdiffstats
path: root/epan/to_str.h
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-07-02 17:00:15 +0200
committerEvan Huus <eapache@gmail.com>2014-07-06 22:53:34 +0000
commitec6a22dc3ba8e2d438b34d892d6a40e1be2a28f2 (patch)
tree96040409382fbc9442b1e868cf9631e111dbd0cd /epan/to_str.h
parent49bc1047be0ed7b1bafcffb0f77e84aead056c0a (diff)
Workaround for ASAN failure in _ws_mempbrk_sse42
When ASAN is enabled, a false buffer overflow warning is raised. It is a false positive since everything starting at '\0' will get ignored by the PCMPISTRI instruction (see Intel(r) SSE4 Programming Reference, 5.3.1.5 "Valid/Invalid Override of Comparisons", and 5.3.1.2 "Aggregrate Operation", case "Equal any"). Concerns about reading past the end of the page turns out to be false, there always seem to be a valid page after the current one (for static and heap memory at least). It is an non-issue since strlen also does not have issues with this. Rather than fully disabling SSE 4.2 and using the fallback implementation for ASAN-enabled builds, read the set of characters from 'a' into the mask without a 128-bit read and then still use SSE 4.2 for the actual query. Bug: 10214 Change-Id: Ie4a526e60b43bfc08dd1d821556766f14a49be4d Reviewed-on: https://code.wireshark.org/review/2618 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Reviewed-by: Evan Huus <eapache@gmail.com>
Diffstat (limited to 'epan/to_str.h')
0 files changed, 0 insertions, 0 deletions