Skip to content

Dont release element of qb_ipc_services when destroying ipc server #422

@minhbq

Description

@minhbq

I encountered a crash error when I try open and close many ipcserver.

I inspected and I think the reason libqb miss release element qb_list_head from qb_ipc_services list.

Here are ipcs.c in row 213:

qb_ipcs_unref(struct qb_ipcs_service *s)
{
int32_t free_it;

assert(s->ref_count > 0);
free_it = qb_atomic_int_dec_and_test(&s->ref_count);
if (free_it) {
	qb_util_log(LOG_DEBUG, "%s() - destroying", __func__);
	free(s);
}

}

I added more qb_list_del(&s->list) before free(s). And it works

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions