Re: [PATCH 02/11] perf tools: fix path unpopulated inmachine__create_modules()

From: Arnaldo Carvalho de Melo
Date: Thu Sep 19 2013 - 10:49:56 EST


Em Mon, Sep 16, 2013 at 01:52:43PM +0300, Adrian Hunter escreveu:
> In machine__create_modules() the 'path' char array
> was used in a call to symbol__restricted_filename()
> without always being populated.

Isn't this equivalent and shorter?

[acme@zoo linux]$ git diff
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 933d14f..6188d28 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -792,7 +792,7 @@ static int machine__create_modules(struct machine *machine)
modules = path;
}

- if (symbol__restricted_filename(path, "/proc/modules"))
+ if (symbol__restricted_filename(modules, "/proc/modules"))
return -1;

file = fopen(modules, "r");
[acme@zoo linux]$

- Arnaldo

> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> tools/perf/util/machine.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index 933d14f..1ae917c 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -782,20 +782,17 @@ static int machine__create_modules(struct machine *machine)
> size_t n;
> FILE *file;
> struct map *map;
> - const char *modules;
> char path[PATH_MAX];
>
> if (machine__is_default_guest(machine))
> - modules = symbol_conf.default_guest_modules;
> - else {
> - sprintf(path, "%s/proc/modules", machine->root_dir);
> - modules = path;
> - }
> + strncpy(path, symbol_conf.default_guest_modules, PATH_MAX);
> + else
> + snprintf(path, PATH_MAX, "%s/proc/modules", machine->root_dir);
>
> if (symbol__restricted_filename(path, "/proc/modules"))
> return -1;
>
> - file = fopen(modules, "r");
> + file = fopen(path, "r");
> if (file == NULL)
> return -1;
>
> --
> 1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/