Remove unnecessary null pointer checks.

[The function "free"](http://pubs.opengroup.org/onlinepubs/9699919799/functions/free.html "free allocated memory") performs input parameter validation. It is therefore not needed to check a passed pointer before this function call.

A corresponding update suggestion was generated by [the software "Coccinelle"](http://coccinelle.lip6.fr/ "Source code transformation engine") from the following semantic patch approach.
```
@Remove_unnecessary_pointer_checks1@
expression x;
@@
-if (x != \(0 \| NULL\))
    free(x);

@Remove_unnecessary_pointer_checks2@
expression x;
@@
-if (x != \(0 \| NULL\)) {
    free(x);
    x = \(0 \| NULL\);
-}

@Remove_unnecessary_pointer_checks3@
expression a, b;
@@
-if (a != \(0 \| NULL\) && b != \(0 \| NULL\))
+if (a)
    free(b);

@Remove_unnecessary_pointer_checks4@
expression a, b;
@@
-if (a != \(0 \| NULL\) && b != \(0 \| NULL\)) {
+if (a) {
    free(b);
    b = \(0 \| NULL\);
 }
```