From b229a9948a5c3e24e29c80ca40462cdb8177e118 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Sat, 12 Jan 2019 23:21:34 +0100 Subject: [PATCH] iec61850: fix double free in destructor of global receiver list --- lib/nodes/iec61850.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/nodes/iec61850.c b/lib/nodes/iec61850.c index e438ce2c5..7d94c7c54 100644 --- a/lib/nodes/iec61850.c +++ b/lib/nodes/iec61850.c @@ -65,8 +65,6 @@ static pthread_t thread; static EthernetHandleSet hset; static int users = 0; -LIST_INIT_STATIC(&receivers); - static void * iec61850_thread(void *ctx) { int ret; @@ -165,6 +163,10 @@ int iec61850_type_start(struct super_node *sn) if (users > 0) return 0; + ret = vlist_init(&receivers); + if (ret) + return ret; + hset = EthernetHandleSet_new(); ret = pthread_create(&thread, NULL, iec61850_thread, NULL);