diff --git a/Changes b/Changes index ac61d6cf2..3875d3418 100644 --- a/Changes +++ b/Changes @@ -2006,3 +2006,4 @@ seen. gmtime warning still there by |VIO|Maverick and Rocko - Made throttling use DelListItem and fixed some confusing regarding undeffing of THROTTLING +- Fixed a set::modes-on-join bug and fixed an oob read in config parser. diff --git a/src/s_conf.c b/src/s_conf.c index 40659b0db..18068c9fc 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -930,7 +930,7 @@ static ConfigFile *config_parse(char *filename, char *confdata) start = ptr; for(;*ptr;ptr++) { - if ((*ptr == ' ') || (*ptr == '=') || (*ptr == '\t') || (*ptr == '\n') || (*ptr == ';')) + if ((*ptr == ' ') || (*ptr == '=') || (*ptr == '\t') || (*ptr == '\n') || (*ptr == ';') || (*ptr == '\0')) break; } if (!*ptr) @@ -5194,6 +5194,7 @@ int _test_set(ConfigFile *conf, ConfigEntry *ce) else if (!strcmp(cep->ce_varname, "modes-on-join")) { char *c; struct ChMode temp; + bzero(&temp, sizeof(temp)); CheckNull(cep); for (c = cep->ce_vardata; *c; c++) {