From 8d5ca1137498df8a69b1aeec2fea9aed5e7dd765 Mon Sep 17 00:00:00 2001 From: MassimilianoPinto Date: Fri, 18 Sep 2015 16:05:22 +0200 Subject: [PATCH] Fixed: spinlock_release is before free Fixed: spinlock_release is before free --- server/modules/routing/binlog/blr_file.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/server/modules/routing/binlog/blr_file.c b/server/modules/routing/binlog/blr_file.c index 36b0996ae..907c9397e 100644 --- a/server/modules/routing/binlog/blr_file.c +++ b/server/modules/routing/binlog/blr_file.c @@ -596,9 +596,14 @@ blr_close_binlog(ROUTER_INSTANCE *router, BLFILE *file) close(file->fd); file->fd = -1; } - spinlock_release(&file->lock); - if (file->refcnt == 0) + + if (file->refcnt == 0) { + spinlock_release(&file->lock); + free(file); + } else { + spinlock_release(&file->lock); + } } /**