A simple, yet effective way to avoid double-free and access-freed-memory vulnerabilities is to set pointers to NULL after they have been freed. Calling free() on a NULL pointer incurs no action. As a result, freed pointers can be safely set to NULL to help eliminate memory related vulnerabilities.

References