• Julia Lawall's avatar
    [media] imon: Correct call to input_free_device · aeb35ebc
    Julia Lawall authored
    ictx->touch is intialied in imon_init_intf1, to the result of calling the
    function that contains this code.  Thus, in this code, input_free_device
    should be called on touch itself.
    
    A simplified version of the semantic match that finds this problem is:
    (http://coccinelle.lip6.fr/)
    
    // <smpl>
    @r exists@
    local idexpression struct input_dev * x;
    expression ra,rr;
    position p1,p2;
    @@
    
    x = input_allocate_device@p1(...)
    ...  when != x = rr
        when != input_free_device(x,...)
        when != if (...) { ... input_free_device(x,...) ...}
    if(...) { ... when != x = ra
        when forall
        when != input_free_device(x,...)
    \(return <+...x...+>; \| return@p2...; \) }
    
    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@
    
    cocci.print_main("input_allocate_device",p1)
    cocci.print_secs("input_free_device",p2)
    // </smpl>
    Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
    Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    aeb35ebc
imon.c 64.4 KB