-
-
Notifications
You must be signed in to change notification settings - Fork 32.2k
bpo-41170: Use strnlen instead of strlen when the size i known. #21236
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
Conversation
Hello, and thanks for your contribution! I'm a bot set up to make sure that the project can legally accept this contribution by verifying everyone involved has signed the PSF contributor agreement (CLA). Recognized GitHub usernameWe couldn't find a bugs.python.org (b.p.o) account corresponding to the following GitHub usernames: This might be simply due to a missing "GitHub Name" entry in one's b.p.o account settings. This is necessary for legal reasons before we can look at this contribution. Please follow the steps outlined in the CPython devguide to rectify this issue. You can check yourself to see if the CLA has been received. Thanks again for the contribution, we look forward to reviewing it! |
@edge90, please sign the CLA. Thank you! |
@csabella I have already done that once, can try again tomorrow as the system haven't picked it up. Edit: Added my github name to bugs.python.org (should pickup my CLA now). |
Pros:
Cons:
The current code was added by @vstinner 10 years ago and was not changed much since then. I do not think that its clearness (which is subjective) was a problem. I am inclined to close this issue. |
strlen() is only called if str[len] is '\0' (null terminator). |
Use strnlen instead of strlen when the size i known:
Functions as
unicode_decode_locale
andtakes a_PyUnicodeWriter_WriteASCIIString
char*
and a size, yetstrlen
is used.This PR changes
strlen
tostrnlen
so no buffer overruns are made when there's no null terminator.https://bugs.python.org/issue41170