-
Notifications
You must be signed in to change notification settings - Fork 455
[CDRIVER-5983] Refactor String Handling Around URI Parsing #2047
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
Merged
vector-of-bool
merged 51 commits into
mongodb:master
from
vector-of-bool:CDRIVER-5983-uri-param-refactor.1
Jul 10, 2025
Merged
Changes from all commits
Commits
Show all changes
51 commits
Select commit
Hold shift + click to select a range
461d468
`mlib/str.h` - String utilities
vector-of-bool ad481cc
Modifications and extensions of `write_concern`
vector-of-bool 1f73472
Fix docs builds with older Sphinx 7.1
vector-of-bool 764f439
Error utilities for clearing/reseting an error obj
vector-of-bool eb549b5
A more robust integer parsing function
vector-of-bool d353579
"because" assertions
vector-of-bool 70ea5ed
Merge branch 'master' into CDRIVER-5983-uri-param-refactor
vector-of-bool 97c35c3
str_split_around algorithm
vector-of-bool 8013f27
`find_first_of` algorithm
vector-of-bool 842dfbf
`str_contains(_any_of)` algo
vector-of-bool e7160fb
Rename `mlib_str...` to `mstr...`
vector-of-bool fc6bdd6
Support negative indexing
vector-of-bool 11bb078
Case normalization in mlib/str
vector-of-bool 2f6da2d
Use sized strings and algos throughout URI parsing
vector-of-bool aba486e
Integer parsing using sized strings
vector-of-bool 33d8126
Refactor %-encoding and integer parsing
vector-of-bool 4b96578
Allow passing an error string to reformat itself
vector-of-bool 3ebe7f8
Missing `inline` spec
vector-of-bool 705680a
Unused expr warnings
vector-of-bool 9eb3503
misc goofs
vector-of-bool 818096e
Fix missing-init warning
vector-of-bool d0d7e09
Tweaked error message for maxstalenessseconds
vector-of-bool 9d71a8f
uninit warnings
vector-of-bool 0f67e11
Tweak logging behavior around URI parse errors
vector-of-bool 55cab60
uninit vars
vector-of-bool 02657a7
Merge branch 'master' into CDRIVER-5983-uri-param-refactor
vector-of-bool 058a2f2
Simplify parsing of host specifiers
vector-of-bool c894c20
Use formatting shorthand macro
vector-of-bool 7eeeda3
Merge branch 'master' into CDRIVER-5983-uri-param-refactor
vector-of-bool 727e3a7
Minor formatting
vector-of-bool f0952cc
[fixup] error message for ipv6 parsing
vector-of-bool 5044dd7
Remove stray newline in test URI string
vector-of-bool 6f53c7a
Fixup `bson_set_error` to use a temp string buffer
vector-of-bool a5f06e1
Free the wtag on setting it
vector-of-bool 565d167
Fix integer boundary condition around INT64_MIN
vector-of-bool 7416c4f
Minor tweaks and cleanup
vector-of-bool eede34c
Rename `mlib_cstring` and `mstr_substr`
vector-of-bool fe504f1
Revert "Modifications and extensions of `write_concern`"
vector-of-bool 4e8d33c
Merge branch 'master' into CDRIVER-5983-uri-param-refactor.1
vector-of-bool 5c6d14b
Fix: Don't overrun when given just a sign
vector-of-bool a186ad6
Tweak integer parsing to use unsigned for the base
vector-of-bool 1d7d0ed
Simplify code around index wrapping
vector-of-bool 01c7254
Clarify null string views, and comment cleanup
vector-of-bool c7accdb
Comment spelling and grammar
vector-of-bool 11ea5e1
Avoid including credentials in error messages
vector-of-bool 9fd2704
Just use `%zu` in formatting
vector-of-bool 29a0bc9
More grammar
vector-of-bool 6f3f501
Change excluded chars in database name
vector-of-bool 98844f8
Drop fragment handling from URI splitting
vector-of-bool cca9a7e
Don't include error messages for %-decoding of credentials
vector-of-bool 9ed1e3c
Update error message tests
vector-of-bool File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check length again after possibly removing sign:
Avoids a possible buffer-overflow for a non-NULL terminated "+".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tweaked with a check around the logic around base parsing. Added test cases for this that will be triggered during ASan builds.