Replace all calls to strncpy with strlcpy, use strdup more, expose strlcat #3866
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.
What's new
This PR improves the consistency of string copy calls, removing all uses of
strncpy
andstrcat
, at least from the code that isn't in submodules.strlcpy
is preferable overstrncpy
, because it doesn't needlessly zero the remaining destination buffer, and it ensures null-termination.Because
strlcat
is already used in mjs, I exposed it in the API. Please check if this is fine.To make buffer sizes consistent, I modified the following constants to include the space for the null terminator. Please check if this is fine:
IBUTTON_KEY_NAME_SIZE
INFRARED_MAX_BUTTON_NAME_LENGTH
INFRARED_MAX_REMOTE_NAME_LENGTH
MAX_TEXT_INPUT_LEN
Verification
Checklist (For Reviewer)