> There is no need to set uuid to NULL as ctx itself will always be freed and uuid will not be accessible anyway.

I prefer defense programming where you do not assume how the function will be called. And even if `ctx` is freed, is not necessary zeroed. So calling `context_free` twice in the same pointer could have issues.