Dangling pointers are no problems at all, just things you have to consider. Yes, c = NULL; after free would "fix" this.
I personally don't do this unless NULL is simply a possible value of the...