-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Fix code in CHIPCryptoPALOpenSSL that could try to log nullptr #18105
Merged
tcarmelveilleux
merged 2 commits into
project-chip:master
from
tcarmelveilleux:fix-null-strings-cryptopal
May 5, 2022
Merged
Fix code in CHIPCryptoPALOpenSSL that could try to log nullptr #18105
tcarmelveilleux
merged 2 commits into
project-chip:master
from
tcarmelveilleux:fix-null-strings-cryptopal
May 5, 2022
Conversation
This file contains 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
- Some %s specifiers did not have a guaranteed non-null string, in OpenSSL error reporting. - Overall, we are missing a macro/function to make it easy to return a default string value when a string is null for a `%s` specifier, which is Undefined Behavior. Relying on standard libraries "catching it for us" is wrong and may fail on some platforms. This PR makes sure CHIPCryptoPALOpenSSL error reporting never uses a null string argument. This is now valid by construction without needing to validate the underlying implementations. This PR also adds `DefaultStringWhenNull` and `StringOrNullMarker` utilities to assist others in doing this safely Testing done: - Unit tests and cert tests all pass
pullapprove
bot
requested review from
anush-apple,
arkq,
Byungjoo-Lee,
bzbarsky-apple,
carol-apple,
chrisdecenzo,
chshu,
chulspro,
Damian-Nordic,
dhrishi,
electrocucaracha,
emargolis and
franck-apple
May 5, 2022 16:32
pullapprove
bot
requested review from
mlepage-google,
wbschiller,
msandstedt,
woody-apple,
mspang,
xylophone21,
rgoliver,
yunhanw-google,
robszewczyk,
sagar-apple,
saurabhst,
selissia,
tecimovic,
turon,
vijs and
vivien-apple
May 5, 2022 16:32
emargolis
approved these changes
May 5, 2022
bzbarsky-apple
approved these changes
May 5, 2022
andy31415
approved these changes
May 5, 2022
PR #18105: Size comparison from c438b89 to eed6b27 Increases (9 builds for linux)
Full report (34 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
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.
Problem
%s
specifiers did not have a guaranteed non-null string,in OpenSSL error reporting.
return a default string value when a string is null for a
%s
specifier, which is Undefined Behavior. Relying onstandard libraries "catching it for us" is wrong and may
fail on some platforms.
Change overview
This PR makes sure CHIPCryptoPALOpenSSL error reporting never
uses a null string argument. This is now valid by construction
without needing to validate the underlying implementations.
This PR also adds
DefaultStringWhenNull
andStringOrNullMarker
utilities to assist others in doing this safely
Testing