-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Example fails with address sanitizer #111
Comments
Thanks, right now we're checking page boundaries and only reading and discarding, but it makes sense that the address sanitizer fails. But, this wouldn't work on all platforms and we really should ensure that address sanitizers don't error, so we'll be changing the codebase to fix this. The code currently is written as it is for performance reasons to operate on 64 bit chunks of data. But, since the object keys are known at compile time we should be able to get even better performance and not have address sanitizer or buffer read issues. Thanks for pointing this out, and the version number discontinuity. |
#112 addresses the string comparison and hashing use of undefined behavior. There is still undefined behavior that breaks the address sanitizer in the floating point number conversion, which has yet to be addressed. |
#120 addresses the rest of the address sanitizer issues. So, the code now passes the address sanitizer checks. These changes also remove undefined behavior, using std::memcpy rather than reinterpret_cast. |
The example taken from the front page fails with address sanitizer enabled. Error occurs with both g++ and clang++.
Version used:
Also the version number in CMakeLists.txt does not seem to be correct (0.2.4), both in main branch and the latest release, which is labeled 0.2.9.
The text was updated successfully, but these errors were encountered: