1. newsearch (Channel ) would crash
2. newsearch (Channel a b c d...) would overflow
if (*ch==' ') {
*ch='\0';
j++;
+ if(j >= (sizeof(argvector) / sizeof(*argvector))) {
+ parseError = "Too many arguments";
+ return NULL;
+ }
i=-1;
}
} else {
parseError = "Bracket mismatch!";
return NULL;
}
+
+ if (*(ch-1) == 0) /* if the last character was a space */
+ j--; /* remove an argument */
if (!(cmd=findcommandintree(searchTree,argvector[0],1))) {
parseError = "Unknown command";