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)