Fix a bug where ban reason is used as ban duration #2383
Merged
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.
In basebans there are 3 commands for banning: sm_banip, sm_addban, sm_ban
They have required arguments for ban duration and optional arguments for ban reason. However the functions that process the duration arguments, do not properly validate the duration and if the reason/text is provided instead of the duration, the functions just convert that string into an integer and use it as the ban duration. This usually results in a permaban with an empty reason. This commit adds a loop for checking duration string chars to be numeric before converting them to an int.
Also changing
<time>to<minutes|0>for sm_banip and sm_addban to be consistent with sm_banRelated to issue #950
Tested with sm_banip and sm_addban. Cannot test sm_ban