Introduce tmp_path to ensure that no code path can possibly try to free
the return value of utils_get_home_dir(). Re-using alloc_path for both
static and dynamically allocated pointer is error-prone.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
*/
url = NULL;
} else if (!opt_no_output) {
*/
url = NULL;
} else if (!opt_no_output) {
- alloc_path = utils_get_home_dir();
- if (alloc_path == NULL) {
+ tmp_path = utils_get_home_dir();
+ if (tmp_path == NULL) {
ERR("HOME path not found.\n \
Please specify an output path using -o, --output PATH");
ret = CMD_FATAL;
goto error;
}
ERR("HOME path not found.\n \
Please specify an output path using -o, --output PATH");
ret = CMD_FATAL;
goto error;
}
- alloc_path = strdup(alloc_path);
-
+ alloc_path = strdup(tmp_path);
+ if (!alloc_path) {
+ PERROR("allocating alloc_path");
+ ret = CMD_FATAL;
+ goto error;
+ }
ret = asprintf(&alloc_url,
"file://%s/" DEFAULT_TRACE_DIR_NAME "/%s",
alloc_path, session_name_date);
ret = asprintf(&alloc_url,
"file://%s/" DEFAULT_TRACE_DIR_NAME "/%s",
alloc_path, session_name_date);