On Thu, 28 Apr 2016 11:12:19 +0900 Namhyung Kim <namhy...@kernel.org> wrote:
> On Thu, Apr 28, 2016 at 03:37:42AM +0900, Masami Hiramatsu wrote: > > From: Masami Hiramatsu <masami.hiramatsu...@hitachi.com> > > > > Add --cache option to cache the probe definitions. This > > just saves the result of the dwarf analysis to probe cache. > > > > Signed-off-by: Masami Hiramatsu <masami.hiramatsu...@hitachi.com> > > Signed-off-by: Masami Hiramatsu <mhira...@kernel.org> > > --- > > Changes in v5: > > - Move probe_cache* definitions. (code cleanup) > > > > Changes in v4: > > - Remove cache saving failure message. > > --- > > [snip] > > +static int probe_cache__load(struct probe_cache *pcache) > > +{ > > + struct probe_cache_entry *entry = NULL; > > + char buf[MAX_CMDLEN], *p; > > + int ret = 0; > > + FILE *fp; > > + > > + fp = fdopen(dup(pcache->fd), "r"); > > + while (!feof(fp)) { > > + if (!fgets(buf, MAX_CMDLEN, fp)) > > + break; > > + p = strchr(buf, '\n'); > > + if (p) > > + *p = '\0'; > > + if (buf[0] == '#') { /* #perf_probe_event */ > > + entry = probe_cache_entry__new(NULL); > > The probe_cache_entry__new() can fail. Good catch! > > Thanks, > Namhyung > > > > + entry->spev = strdup(buf + 1); Moreover, if this strdup fail, this goes to return but retvalue is 0... I'll fix this too. Thank you! -- Masami Hiramatsu <mhira...@kernel.org>