Hans-Werner Hilse wrote: > bug... The free() *does* hurt, however. The standard tells us not to > free a pointer twice (in fact, the man page suggests that "undefined > behaviour occurs"). That's why there is this "double free assertion", I > think. But what my solution suggested was just a circumvention of that > assertion, not the bug itself. I don't agree. The double free assertion wont be issued if you free NULL twice. Its good style to NULL unused pointers so they can always be safely free'd, but if you do have double free assertions, then the bug is not the missing if (aux), its the fact that aux was not properly NULLed after the first free. In this case the cTimer object was improperly doubled, and you would have to NULL the pointers in both objects manually, though both copies don't know anything about each other. Cheers, Udo