On Thu, Jun 01, 2017 at 06:06:04PM +0900, Namhyung Kim wrote:

SNIP

> @@ -399,6 +438,7 @@ static int __open_dso(struct dso *dso, struct machine 
> *machine)
>       int fd;
>       char *root_dir = (char *)"";
>       char *name = malloc(PATH_MAX);
> +     bool needs_unlink = false;
>  
>       if (!name)
>               return -ENOMEM;
> @@ -415,7 +455,23 @@ static int __open_dso(struct dso *dso, struct machine 
> *machine)
>       if (!is_regular_file(name))
>               return -EINVAL;
>  
> +     if (dso__needs_decompress(dso)) {
> +             char buf[32];
> +
> +             fd = dso__decompress_kmodule(dso, name, buf, sizeof(buf));
> +             if (fd < 0)

                        free(name)

> +                     return -1;
> +
> +             close(fd);
> +             strcpy(name, buf);

also why not use name directly instead of buf?

jirka

Reply via email to