From 8999ee7a0b520a4062bfeb9e3eb56c7ec7ced4c8 Mon Sep 17 00:00:00 2001 From: Simon Rose Date: Fri, 27 Feb 2026 10:32:44 +0000 Subject: [PATCH] Move frees out of mutex lock --- modules/libcom/src/error/errlog.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/libcom/src/error/errlog.c b/modules/libcom/src/error/errlog.c index 446bb835c..9ecb0da74 100644 --- a/modules/libcom/src/error/errlog.c +++ b/modules/libcom/src/error/errlog.c @@ -667,19 +667,22 @@ void errlogBufResize(struct initArgs config) } epicsMutexMustLock(pvt.msgQueueLock); + char *oldlogbuf = pvt.log->base; + char *oldprintbuf = pvt.print->base; memcpy(logbuf, pvt.log->base, pvt.bufSize); - free(pvt.log->base); pvt.log->base = logbuf; memcpy(printbuf, &pvt.print->base, pvt.bufSize); - free(pvt.print->base); pvt.print->base = printbuf; pvt.bufSize = config.bufsize; pvt.maxMsgSize = config.maxMsgSize; epicsMutexUnlock(pvt.msgQueueLock); + + free(oldlogbuf); + free(oldprintbuf); } int errlogInit2(int bufsize, int maxMsgSize)