package/source/zipapi/XBufferedThreadedStream.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit 4bf1fbc9572741c665ae200303e929d908896820 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Fri Jul 30 11:48:45 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Fri Jul 30 17:54:32 2021 +0200 tsan:data race in XBufferedThreadedStream cannot read from maInUseBuffer without holding the lock Change-Id: I4244e1132595a18c1a7ab33803e10b6c29684bf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119707 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/package/source/zipapi/XBufferedThreadedStream.cxx b/package/source/zipapi/XBufferedThreadedStream.cxx index ceb5f6895ba1..c36a1845be6c 100644 --- a/package/source/zipapi/XBufferedThreadedStream.cxx +++ b/package/source/zipapi/XBufferedThreadedStream.cxx @@ -93,10 +93,10 @@ void XBufferedThreadedStream::produce() */ const Buffer& XBufferedThreadedStream::getNextBlock() { + std::unique_lock<std::mutex> aGuard( maBufferProtector ); const sal_Int32 nBufSize = maInUseBuffer.getLength(); if( nBufSize <= 0 || mnOffset >= nBufSize ) { - std::unique_lock<std::mutex> aGuard( maBufferProtector ); if( mnOffset >= nBufSize ) maUsedBuffers.push( maInUseBuffer );