|
|
|
|
|
by masklinn
4179 days ago
|
|
> You didn't say which version of the ANSI C specification. Which does not matter because all of them clearly define the behavior of free(NULL). The language has been the same since C89[0]: > The free function causes the space pointed to by ptr to be deallocated, that is, made available for further allocation. If ptr is a null pointer, no action occurs. I'm guessing pjmlp confused free(NULL) which is defined and double free which is UB: > if the argument does not match a pointer earlier returned by the calloc , malloc , or realloc function, or if the space has been deallocated by a call to free or realloc , the behavior is undefined. and didn't "bother to read the ANSI C specification" because he was so certain of what he misremembered. [0] http://port70.net/~nsz/c/c89/c89-draft.html#4.10.3.2 |
|
Yes, it appears my recollections of ANSI C have faded away.