[446] Don't segfault on duplicate bridge names.

Thanks to Tifaifai Maupiti.

Bug: https://github.com/eclipse/mosquitto/issues/446
pull/196/merge
Roger A. Light 9 years ago
parent a421d40d42
commit ca8a507607

@ -10,6 +10,7 @@ Broker:
#415. #415.
- Fixes to readme.md. - Fixes to readme.md.
- Fix deprecation warning for OpenSSL 1.1. PR #416. - Fix deprecation warning for OpenSSL 1.1. PR #416.
- Don't segfault on duplicate bridge names. Closes #446.
1.4.11 - 20170220 1.4.11 - 20170220

@ -916,6 +916,14 @@ int _config_read_file_core(struct mqtt3_config *config, bool reload, const char
if(reload) continue; // FIXME if(reload) continue; // FIXME
token = strtok_r(NULL, " ", &saveptr); token = strtok_r(NULL, " ", &saveptr);
if(token){ if(token){
/* Check for existing bridge name. */
for(i=0; i<config->bridge_count; i++){
if(!strcmp(config->bridges[i].name, token)){
_mosquitto_log_printf(NULL, MOSQ_LOG_ERR, "Error: Duplicate bridge name \"%s\".", token);
return MOSQ_ERR_INVAL;
}
}
config->bridge_count++; config->bridge_count++;
config->bridges = _mosquitto_realloc(config->bridges, config->bridge_count*sizeof(struct _mqtt3_bridge)); config->bridges = _mosquitto_realloc(config->bridges, config->bridge_count*sizeof(struct _mqtt3_bridge));
if(!config->bridges){ if(!config->bridges){

Loading…
Cancel
Save