-
-
Notifications
You must be signed in to change notification settings - Fork 55
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
954 ubsan tinystring #955
954 ubsan tinystring #955
Conversation
69319a4
to
12efa5f
Compare
I can not merge it as CI does not pass https://github.com/openzim/libzim/actions/runs/13341527314/job/37276707142?pr=955 seems related to this PR |
Putting the error messages here to consolidate information. I'll spin up local containers to test this and add it to my local testing procedure while I investigate / put in a fix. I just find it strange that it works on apple arm, doesn't work on regular arm, works on local fedora (gcc and clang), works on focal(22.04LTS)/jammy(20.04LTS) ubuntu, but doesn't work on ubuntu noble(24.04). Spending some time on this and if I can't figure it out I'll take out the template / noexecpt version for the simpler one so we can move on. Packages / build-deb (ubuntu-noble)
Linux (linux-aarch64-dyn, true)
Edit: WRT the stringop-overread errors on ubuntu-noble: Solution: explicitly add nullptr checks to make the problem compiler happy. WRT the aarch64 errors: Solution: remove I'll apply the current candidate solutions, squash, and monitor the CI runs to see if that does the trick. |
12efa5f
to
417976b
Compare
UBSan was complaining about std::memcmp being called with nullptr arguments even when the count == 0. This adds a "safe" wrapper that will just return 0 if the count is 0 or if either of the pointers are nullptr.
417976b
to
e152b1d
Compare
@kelson42 I applied fixes but was unable to reproduce the errors locally. I need to spend some time fighting SELinux on my system. Would you mind kicking off another CI run to see if those fixes worked? Thanks. |
Making undefined behavior sanitizer happy with tinyString.h
Closes #954