perf test sdt: Handle realpath() failure

It can return NULL, in which case we should bail out and remove the
directory created with mkdtemp(), which is stored in the "__tempdir"
variable, not in "tempdir".

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Fixes: 8e5dc848 ("perf test: Add a test case for SDT event")
Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 4b4cd503
...@@ -83,6 +83,8 @@ int test__sdt_event(int subtests __maybe_unused) ...@@ -83,6 +83,8 @@ int test__sdt_event(int subtests __maybe_unused)
} }
/* Note that buildid_dir must be an absolute path */ /* Note that buildid_dir must be an absolute path */
tempdir = realpath(__tempdir, NULL); tempdir = realpath(__tempdir, NULL);
if (tempdir == NULL)
goto error_rmdir;
/* At first, scan itself */ /* At first, scan itself */
set_buildid_dir(tempdir); set_buildid_dir(tempdir);
...@@ -100,7 +102,7 @@ int test__sdt_event(int subtests __maybe_unused) ...@@ -100,7 +102,7 @@ int test__sdt_event(int subtests __maybe_unused)
error_rmdir: error_rmdir:
/* Cleanup temporary buildid dir */ /* Cleanup temporary buildid dir */
rm_rf(tempdir); rm_rf(__tempdir);
error: error:
free(tempdir); free(tempdir);
free(myself); free(myself);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册