Search code examples
cpointersfree

How to check if a pointer is freed already in C?


I would like to check if a pointer is freed already or not. How do I do this using gnu compiler set?


Solution

  • You can't. The way to track this would be to assign the pointer to 0 or NULL after freeing it. However as Fred Larson mentioned, this does nothing to other pointers pointing to the same location.

    int* ptr = (int*)malloc(sizeof(int));
    free(ptr);
    ptr = NULL;