lkml.org 
[lkml]   [2016]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/21] perf callchain: Check return value of add_child()
    Date
    The create_child() in add_child() can return NULL in case of memory
    allocation failure. So check the return value and bail out. The proper
    error handling will be added later.

    Acked-by: Jiri Olsa <jolsa@kernel.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: Namhyung Kim <namhyung@kernel.org>
    ---
    tools/perf/util/callchain.c | 8 ++++++++
    1 file changed, 8 insertions(+)

    diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
    index 53c43eb9489e..134d88b33fc1 100644
    --- a/tools/perf/util/callchain.c
    +++ b/tools/perf/util/callchain.c
    @@ -453,6 +453,9 @@ add_child(struct callchain_node *parent,
    struct callchain_node *new;

    new = create_child(parent, false);
    + if (new == NULL)
    + return NULL;
    +
    fill_node(new, cursor);

    new->children_hit = 0;
    @@ -524,6 +527,8 @@ split_add_child(struct callchain_node *parent,

    node = callchain_cursor_current(cursor);
    new = add_child(parent, cursor, period);
    + if (new == NULL)
    + return;

    /*
    * This is second child since we moved parent's children
    @@ -585,6 +590,9 @@ append_chain_children(struct callchain_node *root,
    }
    /* nothing in children, add to the current node */
    rnode = add_child(root, cursor, period);
    + if (rnode == NULL)
    + return;
    +
    rb_link_node(&rnode->rb_node_in, parent, p);
    rb_insert_color(&rnode->rb_node_in, &root->rb_root_in);

    --
    2.6.4
    \
     
     \ /
      Last update: 2016-02-02 16:21    [W:2.636 / U:0.252 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site