perf symbols: Move name malloc to when needed in dso__load
Memory is currently leaked on some paths. Signed-off-by: David Ahern <dsahern@gmail.com> Link: http://lkml.kernel.org/r/1358185607-90799-1-git-send-email-dsahern@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
9811360ec8
Коммит
164c800e42
|
@ -768,10 +768,6 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
|
||||||
else
|
else
|
||||||
machine = NULL;
|
machine = NULL;
|
||||||
|
|
||||||
name = malloc(PATH_MAX);
|
|
||||||
if (!name)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
dso->adjust_symbols = 0;
|
dso->adjust_symbols = 0;
|
||||||
|
|
||||||
if (strncmp(dso->name, "/tmp/perf-", 10) == 0) {
|
if (strncmp(dso->name, "/tmp/perf-", 10) == 0) {
|
||||||
|
@ -795,6 +791,10 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
|
||||||
if (machine)
|
if (machine)
|
||||||
root_dir = machine->root_dir;
|
root_dir = machine->root_dir;
|
||||||
|
|
||||||
|
name = malloc(PATH_MAX);
|
||||||
|
if (!name)
|
||||||
|
return -1;
|
||||||
|
|
||||||
/* Iterate over candidate debug images.
|
/* Iterate over candidate debug images.
|
||||||
* Keep track of "interesting" ones (those which have a symtab, dynsym,
|
* Keep track of "interesting" ones (those which have a symtab, dynsym,
|
||||||
* and/or opd section) for processing.
|
* and/or opd section) for processing.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче