X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fconf.c;fp=src%2Fbin%2Flttng%2Fconf.c;h=b6632fcb144c052fa0ef4a9652843a074abd64c7;hp=7439c1cdcf4d0fac711f7a5f4acfbd018a83a773;hb=487b253b3ec9f187b4c1b425b246e8e74e5ac309;hpb=8f3f773f82cf4ce088d7bee098b549b5567d77f8 diff --git a/src/bin/lttng/conf.c b/src/bin/lttng/conf.c index 7439c1cdc..b6632fcb1 100644 --- a/src/bin/lttng/conf.c +++ b/src/bin/lttng/conf.c @@ -40,6 +40,7 @@ char *config_get_file_path(char *path) ret = asprintf(&file_path, "%s/%s", path, CONFIG_FILENAME); if (ret < 0) { ERR("Fail allocating config file path"); + file_path = NULL; } return file_path; @@ -248,14 +249,16 @@ found: int config_add_session_name(char *path, char *name) { int ret; - char session_name[NAME_MAX]; + char *attr = "session="; + /* Max name len accepted plus attribute's len and the NULL byte. */ + char session_name[NAME_MAX + strlen(attr) + 1]; /* * With GNU C < 2.1, snprintf returns -1 if the target buffer is too small; * With GNU C >= 2.1, snprintf returns the required size (excluding closing null) */ - ret = snprintf(session_name, NAME_MAX, "session=%s\n", name); - if ((ret < 0) || (ret >= NAME_MAX)) { + ret = snprintf(session_name, sizeof(session_name), "%s%s\n", attr, name); + if (ret < 0) { ret = -1; goto error; }