flow, clear_buffer: fake assigns were executing unops multiple times
commita6395c04eac59a1dfbf1a8c392dc0160ab9a0603
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 18 Jun 2013 12:22:06 +0000 (18 15:22 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Tue, 18 Jun 2013 12:22:06 +0000 (18 15:22 +0300)
tree96088ac1c8a15d64fe0ed767ea281ffda838c282
parent0176725a4aed8c43d7646a6fd19ba21f04e673fe
flow, clear_buffer: fake assigns were executing unops multiple times

Instead of calling __split_expr() we should just pass the expression
directly to the clients.  That's all we care about.  Passing it to
split_expr() executes the PREOP and POSTOPs more than once and it leads to
false positives about buffer overflows.

There are maybe some related bugs to fix in later patches.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_clear_buffer.c
validation/sm_fake_assignment.c [new file with mode: 0644]