From d1577c80bb8f6752b775a64af68649b648c659d9 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 9 May 2013 18:28:09 -0400 Subject: [PATCH] Windows: AFSCommonWrite do not leak SectionObjectResource If the write request is neither an extending write nor a non-cached write and (liStartingByte.QuadPart + ulByteCount) >= pFcb->Header.FileSize.QuadPart, then the SectionObjectResource pointer will be leaked. Instead release it before retrying. Change-Id: Id1ea7a3829a6e2be19280f366e665a11e14fba62 Reviewed-on: http://gerrit.openafs.org/9888 Reviewed-by: Peter Scott Tested-by: BuildBot Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman --- src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp b/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp index 2d5f44b70..285342164 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSWrite.cpp @@ -597,6 +597,11 @@ AFSCommonWrite( IN PDEVICE_OBJECT DeviceObject, if (!bLockOK) { + + AFSReleaseResource( &pNPFcb->SectionObjectResource); + + bReleaseSectionObject = FALSE; + AFSReleaseResource( &pNPFcb->Resource); bReleaseMain = FALSE; -- 2.39.5