X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fagent.c;h=27e7d029c9e452bccd5874239fcb68c7767f6364;hb=f02edd9ef8d49e675f0b0d7c27e2991bb918221b;hp=e9cd5fa050a2ac5b32d46e0e5478ec22d99f9a86;hpb=ade8d7e3958921c9ef668c17d877eaf8d5b14f3a;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/agent.c b/src/bin/lttng-sessiond/agent.c index e9cd5fa05..27e7d029c 100644 --- a/src/bin/lttng-sessiond/agent.c +++ b/src/bin/lttng-sessiond/agent.c @@ -299,8 +299,11 @@ static ssize_t list_events(struct agent_app *app, struct lttng_event **events) for (i = 0; i < nb_event; i++) { offset += len; - strncpy(tmp_events[i].name, reply->payload + offset, - sizeof(tmp_events[i].name)); + if (lttng_strncpy(tmp_events[i].name, reply->payload + offset, + sizeof(tmp_events[i].name))) { + ret = LTTNG_ERR_INVALID; + goto error; + } tmp_events[i].pid = app->pid; tmp_events[i].enabled = -1; len = strlen(reply->payload + offset) + 1; @@ -403,14 +406,17 @@ static int disable_event(struct agent_app *app, struct agent_event *event) app->pid, app->sock->fd); data_size = sizeof(msg); + memset(&msg, 0, sizeof(msg)); + if (lttng_strncpy(msg.name, event->name, sizeof(msg.name))) { + ret = LTTNG_ERR_INVALID; + goto error; + } ret = send_header(app->sock, data_size, AGENT_CMD_DISABLE, 0); if (ret < 0) { goto error_io; } - memset(&msg, 0, sizeof(msg)); - strncpy(msg.name, event->name, sizeof(msg.name)); ret = send_payload(app->sock, &msg, sizeof(msg)); if (ret < 0) { goto error_io; @@ -807,7 +813,8 @@ struct agent_event *agent_create_event(const char *name, DBG3("Agent create new event with name %s, loglevel type %d, \ loglevel value %d and filter %s", - name, loglevel_type, loglevel_value, filter_expression); + name, loglevel_type, loglevel_value, + filter_expression ? filter_expression : "NULL"); if (!name) { ERR("Failed to create agent event; no name provided.");