Windows: NotifyHardLink avoid null ptr reference

In AFSNotifyHardLink, if the TargetDirectoryCB out parameter is non-NULL
but pDirNode is NULL, do not attempt to increment the
DirOpenReferenceCount because doing so will trigger an exception.

Change-Id: I9d50e05aff9a4922113f814dd3d50e115725ecca
Reviewed-on: http://gerrit.openafs.org/9903
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
This commit is contained in:
Jeffrey Altman 2013-05-13 10:09:11 -04:00
parent 4a91ac6f83
commit 975c11cb35

View File

@ -2421,16 +2421,20 @@ try_exit:
if ( TargetDirectoryCB != NULL) if ( TargetDirectoryCB != NULL)
{ {
lCount = InterlockedIncrement( &pDirNode->DirOpenReferenceCount); if ( pDirNode != NULL)
{
AFSDbgTrace(( AFS_SUBSYSTEM_DIRENTRY_REF_COUNTING, lCount = InterlockedIncrement( &pDirNode->DirOpenReferenceCount);
AFS_TRACE_LEVEL_VERBOSE,
"AFSNotifyHardLink Increment count on %wZ DE %p Cnt %d\n",
&pDirNode->NameInformation.FileName,
pDirNode,
lCount));
ASSERT( lCount >= 0); AFSDbgTrace(( AFS_SUBSYSTEM_DIRENTRY_REF_COUNTING,
AFS_TRACE_LEVEL_VERBOSE,
"AFSNotifyHardLink Increment count on %wZ DE %p Cnt %d\n",
&pDirNode->NameInformation.FileName,
pDirNode,
lCount));
ASSERT( lCount >= 0);
}
*TargetDirectoryCB = pDirNode; *TargetDirectoryCB = pDirNode;
} }