From: Alexander Nyberg There's a leak here in the first error path. Found by the Coverity tool. Signed-off-by: Alexander Nyberg Signed-off-by: Andrew Morton --- 25-akpm/security/selinux/ss/conditional.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-) diff -puN security/selinux/ss/conditional.c~selinux-leak-in-error-path security/selinux/ss/conditional.c --- 25/security/selinux/ss/conditional.c~selinux-leak-in-error-path 2005-02-28 17:03:55.000000000 -0800 +++ 25-akpm/security/selinux/ss/conditional.c 2005-02-28 17:03:55.000000000 -0800 @@ -401,8 +401,10 @@ static int cond_read_node(struct policyd expr->expr_type = le32_to_cpu(buf[0]); expr->bool = le32_to_cpu(buf[1]); - if (!expr_isvalid(p, expr)) + if (!expr_isvalid(p, expr)) { + kfree(expr); goto err; + } if (i == 0) { node->expr = expr; _