From: Arnaldo Carvalho de Melo <acme@redhat.com> Date: Sat, 1 Jul 2017 14:21:59 +0000 (-0300) Subject: perf test sdt: Handle realpath() failure X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8526bafc149ee4d0df5eabca0f440164ec705c99;p=linux.git 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: 8e5dc848356e ("perf test: Add a test case for SDT event") Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- diff --git a/tools/perf/tests/sdt.c b/tools/perf/tests/sdt.c index 5abe8cea54e6b..d80171526f6fe 100644 --- a/tools/perf/tests/sdt.c +++ b/tools/perf/tests/sdt.c @@ -83,6 +83,8 @@ int test__sdt_event(int subtests __maybe_unused) } /* Note that buildid_dir must be an absolute path */ tempdir = realpath(__tempdir, NULL); + if (tempdir == NULL) + goto error_rmdir; /* At first, scan itself */ set_buildid_dir(tempdir); @@ -100,7 +102,7 @@ int test__sdt_event(int subtests __maybe_unused) error_rmdir: /* Cleanup temporary buildid dir */ - rm_rf(tempdir); + rm_rf(__tempdir); error: free(tempdir); free(myself);