Jim Meyering [off-list ref] writes:
It's a definite loss of portability if you can find a reasonable porting
target for which free(NULL) fails. But even if you do, the fix is
not to reject the clean-up, but to amend it with a wrapper function.
That encapsulates the work-around in one place rather than polluting
all of those files.
As we already have unchecked free(ptr) in our code _anyway_,
there _technically_ is no reason to reject the clean-up patch.
We just need to find a quiescent time to do so so that actively
cooking patches in people's trees (and topics in 'next') won't
get needless conflicts.