heap use after free
The program uses memory after it has been freed, which can lead to unpredictable behavior.
free
on itint main() { int *ptr = malloc(sizeof(int)); *ptr = 10; free(ptr); printf("%d\n", *ptr); // Use after free return 0; }
Set pointers to NULL
after freeing them and check before using.
int main() { int *ptr = malloc(sizeof(int)); if (ptr != NULL) { *ptr = 10; free(ptr); ptr = NULL; // Set to NULL after freeing } // Check before using if (ptr != NULL) { printf("%d\n", *ptr); } else { printf("Pointer is NULL\n"); } return 0; }
NULL
after freeing themNULL
before dereferencing it