BUGFIX: NULL out wrong elements
This commit is contained in:
parent
10c5dfb400
commit
3849e65431
|
@ -36,14 +36,13 @@ init_chanarray(Channel** chans)
|
||||||
signed int
|
signed int
|
||||||
resize_chanarray(Channel** chans)
|
resize_chanarray(Channel** chans)
|
||||||
{
|
{
|
||||||
unsigned int i = 0;
|
unsigned int i = get_channelindex(NULL, *chans);
|
||||||
Channel* tmp = NULL;
|
Channel* tmp = NULL;
|
||||||
i = get_channelindex(NULL, *chans);
|
|
||||||
LOG(LOG_DEBUG, "Found %i existing channels.", i);
|
LOG(LOG_DEBUG, "Found %i existing channels.", i);
|
||||||
if ((tmp = realloc(*chans, (i + 2) * sizeof(Channel))) != NULL) {
|
if ((tmp = realloc(*chans, (i + 2) * sizeof(Channel))) != NULL) {
|
||||||
*chans = tmp;
|
*chans = tmp;
|
||||||
tmp[i].name = NULL;
|
tmp[i+1].name = NULL;
|
||||||
tmp[i].key = NULL;
|
tmp[i+1].key = NULL;
|
||||||
} else {
|
} else {
|
||||||
LOG(LOG_WARN, "Could not allocate channel struct. " ERRNOFMT, strerror(errno), errno);
|
LOG(LOG_WARN, "Could not allocate channel struct. " ERRNOFMT, strerror(errno), errno);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -51,10 +51,10 @@ parse_configfile(char* config_path, Connection* conn)
|
||||||
config_setting_lookup_string(chanelem, "name", &name);
|
config_setting_lookup_string(chanelem, "name", &name);
|
||||||
config_setting_lookup_string(chanelem, "key", &key);
|
config_setting_lookup_string(chanelem, "key", &key);
|
||||||
LOG(LOG_DEBUG, "Got channel #%i: %s", i, name);
|
LOG(LOG_DEBUG, "Got channel #%i: %s", i, name);
|
||||||
resize_chanarray(&conn->info.channels);
|
|
||||||
if (name != NULL) {
|
if (name != NULL) {
|
||||||
set_channel(&conn->info.channels[get_channelindex(name, conn->info.channels)], name, key, true);
|
set_channel(&conn->info.channels[get_channelindex(name, conn->info.channels)], name, key, true);
|
||||||
}
|
}
|
||||||
|
resize_chanarray(&conn->info.channels);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in New Issue