aboutsummaryrefslogtreecommitdiffstats
path: root/ipc.c
diff options
context:
space:
mode:
authordequis <dx@dxzone.com.ar>2015-02-22 19:04:08 -0300
committerdequis <dx@dxzone.com.ar>2015-02-22 19:44:40 -0300
commit05816dd33396f92b7d9348a2acd18537ac18fa1e (patch)
tree980ad6ad4c5efc040d19ec09ed1cecc0104b17eb /ipc.c
parent91f06e5535d3711da06533495b197c1b8e545f82 (diff)
coverity: Fix some (harmless?) use-after-free with g_slist_remove()
These were passing a pointer to a variable right after it was g_free()'d They are most likely harmless as g_slist_remove() probably just needs the pointer location, but fixing it anyway.
Diffstat (limited to 'ipc.c')
-rw-r--r--ipc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ipc.c b/ipc.c
index b7ab9552..4041f442 100644
--- a/ipc.c
+++ b/ipc.c
@@ -775,14 +775,14 @@ void ipc_master_free_one(struct bitlbee_child *c)
close(c->to_fd);
}
+ child_list = g_slist_remove(child_list, c);
+
g_free(c->host);
g_free(c->nick);
g_free(c->realname);
g_free(c->password);
g_free(c);
- child_list = g_slist_remove(child_list, c);
-
/* Also, if any child has a reference to this one, remove it. */
for (l = child_list; l; l = l->next) {
struct bitlbee_child *oc = l->data;