Re: g_error_free() warning on null pointer

Jasper St. Pierre wrote:
Michael McConville wrote:
Nicolas George wrote:
But maybe I am forgetting another case: can you imagine a code snippet
where g_error_free(error) would make sense with error == NULL?

I may have already mentioned this, but the simplest example is just
adding a g_error_free() at the end of a function when adding a GError*
declaration at the beginning. This prevents an irrelevant line from
cluttering the error-handling logic and makes it more trivially obvious
to auditors that there isn't a memory leak.

But if you have an error, shouldn't you either want to a) handle it,
or b) propagate it up?

I suspect that this is almost always the case. However:

 1) Sometimes you have to audit other people's code for memory leaks but
    don't have the time/understanding for logic additions.

 2) Even if you are handling the error, the free call is clutter.
    Keeping it in the function's footer contributes readability.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]