MDEV-35717: UBSAN: runtime error: applying zero offset to null pointer in my_strnncoll_utf8mb3_general1400_as_ci#4910
Merged
raghunandanbhat merged 1 commit into11.8from Apr 16, 2026
Merged
Conversation
f8fe17e to
35d743e
Compare
my_strnncoll_utf8mb3_general1400_as_ci
02bb33d to
583868f
Compare
…r in `my_strnncoll_utf8mb3_general1400_as_ci`
Problem:
UBSAN reports runtime errors in string comparision functions when
pointer arithmetic is done without checking NULL.
Fix:
- Add debug asserts in `strnncoll` function to catch NULL pointers.
- Define a new function `streq_safe` as a replacement for `streq`,
capable of handling NULL pointers. Replace `streq` with `streq_safe`
at multiple call sites, identified by the debug asserts.
- Add empty identifier checks in `is_infoschema_db` and
`is_perfschema_db` before calling the deep character-set based
comparision.
583868f to
401a466
Compare
abarkov
approved these changes
Apr 15, 2026
Contributor
abarkov
left a comment
There was a problem hiding this comment.
The patch is OK to push. Thanks.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes MDEV-35717
Problem:
UBSAN reports runtime errors in string comparision functions where pointer arithmetic is done without checking NULL.
my_strnncoll_utf8mb3_general1400_as_ciFix:
strnncollfunction to catch NULL pointers.streq_safeas a replacement forstreq, capable of handling NULL pointers. Replacestreqwithstreq_safeat multiple call sites, identified by the debug asserts.is_infoschema_dbandis_perfschema_dbbefore calling the deep character-set based comparison.