Bug #MLT-216: Addition of a semantic patch file for listing of unnecessary checks before a few known functions

This semantic patch pattern tries to find source code places where a check
is performed for an expression that is passed to a function (like "free")
which checks this single parameter itself for usability.
Redundant value or pointer checks can be avoided here.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Bug #MLT-216: Deletion of unnecessary checks before specific function calls

A couple of functions perform input parameter validation before their
implementations will try further actions with side effects. Some calling
functions perform similar safety checks.

Functions which release a system resource are occasionally documented
in the way that they tolerate the passing of a null pointer for example.
There is not a need because of this fact that a function caller repeats
a corresponding check.

A previously added semantic patch approach suggested the changes that are
shown here.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Bug #MLT-216: Removal of unnecessary checks before a few calls of the C++ delete operator

The C++ delete operator can also handle passed null pointers on its own
without unexpected side effects.
http://www.parashift.com/c++-faq/delete-handles-null.html

It is therefore not needed to keep additional safety checks directly before
such function calls.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Merge pull request #51 from elfring/Remove_unnecessary_checks1

Remove unnecessary null pointer checks.