News for hackers. Stuff that matters.
Re:Talloc: The Tutorial by esneider on Sunday December 08, 2013 @08:25AM (#6869631)
Yep, you can also do

  void *p;
  free(p);
  free(p);
Don't get me wrong, I get where you are going. But C philosophy is that libraries shouldn't do expensive checking to detect programmers' errors.
Re:Talloc: The Tutorial by huhtenberg on Sunday December 08, 2013 @08:53AM (#6869685)
I'm not going anywhere. Double-free is a known pitfall. People watch for it and a lot of standard libraries have safeguards against it.

On the other hand tfree() hangs if a prior call to talloc_set_parent() is passed certain arguments. Just more ammunition to shoot one's own foot. (p, p) might be a degenerate case, but real code will create cyclic references. In such case blaming programmer is the least productive way to handle it.

Re:Talloc: The Tutorial by esneider on Sunday December 08, 2013 @09:28AM (#6869737)
Fair enough... I thought it would be more difficult/inefficient to check for cyclic hierarchies, but it wasn't.

Fixed! Thanks.