• Julia Lawall's avatar
    powerpc/chrp/nvram.c: Add of_node_put to avoid memory leak · 7cf9bac5
    Julia Lawall authored
    Add a call to of_node_put in the error handling code following a call to
    of_find_node_by_type.
    
    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r exists@
    local idexpression x;
    expression E,E1,E2;
    statement S;
    @@
    
    *x =
    (of_find_node_by_path
    |of_find_node_by_name
    |of_find_node_by_phandle
    |of_get_parent
    |of_get_next_parent
    |of_get_next_child
    |of_find_compatible_node
    |of_match_node
    |of_find_node_by_type
    |of_find_node_with_property
    |of_find_matching_node
    |of_parse_phandle
    )(...);
    ...
    if (x == NULL) S
    <... when != x = E
    *if (...) {
      ... when != of_node_put(x)
          when != if (...) { ... of_node_put(x); ... }
    (
      return <+...x...+>;
    |
    *  return ...;
    )
    }
    ...>
    (
    E2 = x;
    |
    of_node_put(x);
    )
    // </smpl>
    Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    7cf9bac5
nvram.c 2.2 KB