From: Jeffrey Altman Date: Mon, 4 Feb 2013 21:22:56 +0000 (-0500) Subject: Windows: AFSObjectInfoDecrement correct return value X-Git-Tag: openafs-stable-1_8_0pre1~1567 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=e7df2fcedcd05b5f73f5398433289b52b769c0ea;hp=d0e7d8c76e038c5bd76b49fd8ca7b588e848a4f1 Windows: AFSObjectInfoDecrement correct return value The return value must be the new ObjectReferenceCount value not the value of the Reason counter. This was broken by patchset e267774f1a4f9cc5bfc32c545df36a4bf7947607. Change-Id: I9dd3cd56f6c7d43f061bdda8e24666b5f9a4ed9b Reviewed-on: http://gerrit.openafs.org/9068 Tested-by: BuildBot Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- diff --git a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp index 5b50bb3..a152e1d 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSGeneric.cpp @@ -6683,7 +6683,7 @@ AFSObjectInfoDecrement( IN AFSObjectInfoCB *ObjectInfo, IN LONG Reason) { - LONG lCount; + LONG lCount, lCount2; AFSAcquireShared( &ObjectInfo->NonPagedInfo->ObjectInfoLock, TRUE); @@ -6703,9 +6703,9 @@ AFSObjectInfoDecrement( IN AFSObjectInfoCB *ObjectInfo, lCount = InterlockedDecrement( &ObjectInfo->ObjectReferenceCount); } - lCount = InterlockedDecrement( &ObjectInfo->ObjectReferences[ Reason]); + lCount2 = InterlockedDecrement( &ObjectInfo->ObjectReferences[ Reason]); - ASSERT( lCount >= 0); + ASSERT( lCount2 >= 0); AFSReleaseResource( &ObjectInfo->NonPagedInfo->ObjectInfoLock);