This patch ignores malloc-overflow bug in two cases:
x = a/b; where n < b
malloc (x*n); Then x*n will not overflow.
x = a; // when 'a' is a known value.
Also replaced isa with dyn_cast.
Reject multiplication by zero cases in MallocOverflowSecurityChecker
Currently MallocOverflowSecurityChecker does not catch cases like:
malloc(n * 0 * sizeof(int));
This patch rejects such cases.
Two test cases added. malloc-overflow2.c has an example inspired from a code
in linux kernel where the current checker flags a warning while it should not.