I do, personally, but you should get a second opinion if it's a hassle.  I like something like:

    if (error)
        goto on_error;

    if (error)
        goto on_error;

    /* success */
    goto done;

    on_error:
        free(some stuff);

    done:
        free(the rest);

Which I think is basically the pattern we've been keeping.