Prevent null pointer dereference when checking program args
First parameter to function 'strchr' is marked a nonnull. If null is passed as args there's no point in looking for flags. This function is always used in the beginning of all internal macros through HELP macro to detect /? flag.
This commit is contained in:
parent
2bbe181ccb
commit
716acd09e8
1 changed files with 7 additions and 5 deletions
|
@ -123,11 +123,13 @@ char * lowcase(char * str) {
|
|||
return str;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool ScanCMDBool(char * cmd,char const * const check) {
|
||||
char * scan=cmd;size_t c_len=strlen(check);
|
||||
while ((scan=strchr(scan,'/'))) {
|
||||
bool ScanCMDBool(char * cmd, char const * const check)
|
||||
{
|
||||
if (cmd == nullptr)
|
||||
return false;
|
||||
char *scan = cmd;
|
||||
const size_t c_len = strlen(check);
|
||||
while ((scan = strchr(scan,'/'))) {
|
||||
/* found a / now see behind it */
|
||||
scan++;
|
||||
if (strncasecmp(scan,check,c_len)==0 && (scan[c_len]==' ' || scan[c_len]=='\t' || scan[c_len]=='/' || scan[c_len]==0)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue