Fix a wrong open() if no motd is specified.
This commit is contained in:
parent
00995a1946
commit
828c19cfc6
|
@ -654,7 +654,7 @@ void hub_set_variables(struct hub_info* hub, struct acl_handle* acl)
|
||||||
|
|
||||||
/* (Re-)read the message of the day */
|
/* (Re-)read the message of the day */
|
||||||
hub->command_motd = 0;
|
hub->command_motd = 0;
|
||||||
fd = open(hub->config->file_motd, 0);
|
fd = (hub->config->file_motd && *hub->config->file_motd) ? open(hub->config->file_motd, 0) : -1;
|
||||||
if (fd != -1)
|
if (fd != -1)
|
||||||
{
|
{
|
||||||
ret = read(fd, buf, MAX_RECV_BUF);
|
ret = read(fd, buf, MAX_RECV_BUF);
|
||||||
|
@ -663,22 +663,18 @@ void hub_set_variables(struct hub_info* hub, struct acl_handle* acl)
|
||||||
buf[ret] = 0;
|
buf[ret] = 0;
|
||||||
tmp = adc_msg_escape(buf);
|
tmp = adc_msg_escape(buf);
|
||||||
hub->command_motd = adc_msg_construct(ADC_CMD_IMSG, 6 + strlen(tmp));
|
hub->command_motd = adc_msg_construct(ADC_CMD_IMSG, 6 + strlen(tmp));
|
||||||
adc_msg_add_argument(hub->command_motd, tmp);
|
adc_msg_add_argument(hub->command_motd, tmp);
|
||||||
hub_free(tmp);
|
hub_free(tmp);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
close(fd);
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
hub->command_support = adc_msg_construct(ADC_CMD_ISUP, 6 + strlen(ADC_PROTO_SUPPORT));
|
hub->command_support = adc_msg_construct(ADC_CMD_ISUP, 6 + strlen(ADC_PROTO_SUPPORT));
|
||||||
if (hub->command_support)
|
if (hub->command_support)
|
||||||
{
|
{
|
||||||
adc_msg_add_argument(hub->command_support, ADC_PROTO_SUPPORT);
|
adc_msg_add_argument(hub->command_support, ADC_PROTO_SUPPORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
hub->command_banner = adc_msg_construct(ADC_CMD_ISTA, 25 + strlen(server));
|
hub->command_banner = adc_msg_construct(ADC_CMD_ISTA, 25 + strlen(server));
|
||||||
if (hub->command_banner)
|
if (hub->command_banner)
|
||||||
{
|
{
|
||||||
|
@ -687,7 +683,7 @@ void hub_set_variables(struct hub_info* hub, struct acl_handle* acl)
|
||||||
adc_msg_add_argument(hub->command_banner, tmp);
|
adc_msg_add_argument(hub->command_banner, tmp);
|
||||||
hub_free(tmp);
|
hub_free(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
hub->status = (hub->config->hub_enabled ? hub_status_running : hub_status_disabled);
|
hub->status = (hub->config->hub_enabled ? hub_status_running : hub_status_disabled);
|
||||||
hub_free(server);
|
hub_free(server);
|
||||||
}
|
}
|
||||||
|
@ -697,10 +693,10 @@ void hub_free_variables(struct hub_info* hub)
|
||||||
{
|
{
|
||||||
adc_msg_free(hub->command_info);
|
adc_msg_free(hub->command_info);
|
||||||
adc_msg_free(hub->command_banner);
|
adc_msg_free(hub->command_banner);
|
||||||
|
|
||||||
if (hub->command_motd)
|
if (hub->command_motd)
|
||||||
adc_msg_free(hub->command_motd);
|
adc_msg_free(hub->command_motd);
|
||||||
|
|
||||||
adc_msg_free(hub->command_support);
|
adc_msg_free(hub->command_support);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue