Signed-off-by: Jan Friesse <[email protected]>
---
exec/ipc_glue.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/exec/ipc_glue.c b/exec/ipc_glue.c
index a824b99..6e2b92b 100644
--- a/exec/ipc_glue.c
+++ b/exec/ipc_glue.c
@@ -842,15 +842,25 @@ static enum qb_ipc_type cs_get_ipc_type (void)
const char *cs_ipcs_service_init(struct corosync_service_engine *service)
{
+ const char *serv_short_name;
+
+ serv_short_name = cs_ipcs_serv_short_name(service->id);
+
if (service->lib_engine_count == 0) {
log_printf (LOGSYS_LEVEL_DEBUG,
"NOT Initializing IPC on %s [%d]",
- cs_ipcs_serv_short_name(service->id),
+ serv_short_name,
service->id);
return NULL;
}
+
+ if (strlen(serv_short_name) >= CS_IPCS_MAPPER_SERV_NAME) {
+ log_printf (LOGSYS_LEVEL_ERROR, "service name %s is too long",
serv_short_name);
+ return "qb_ipcs_run error";
+ }
+
ipcs_mapper[service->id].id = service->id;
- strcpy(ipcs_mapper[service->id].name,
cs_ipcs_serv_short_name(service->id));
+ strcpy(ipcs_mapper[service->id].name, serv_short_name);
log_printf (LOGSYS_LEVEL_DEBUG,
"Initializing IPC on %s [%d]",
ipcs_mapper[service->id].name,
--
1.7.1
_______________________________________________
discuss mailing list
[email protected]
http://lists.corosync.org/mailman/listinfo/discuss