Windows: NotifyHardLink avoid null ptr reference
authorJeffrey Altman <jaltman@your-file-system.com>
Mon, 13 May 2013 14:09:11 +0000 (10:09 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Mon, 13 May 2013 17:39:26 +0000 (10:39 -0700)
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>

src/WINNT/afsrdr/kernel/lib/AFSCommSupport.cpp

index 3df5939..858aba0 100644 (file)
@@ -2421,16 +2421,20 @@ try_exit:
         if ( TargetDirectoryCB != NULL)
         {
 
-            lCount = InterlockedIncrement( &pDirNode->DirOpenReferenceCount);
+           if ( pDirNode != NULL)
+           {
 
-            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));
+               lCount = InterlockedIncrement( &pDirNode->DirOpenReferenceCount);
 
-            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;
         }