Resolve SDV reported "defect"
NdisMGetDeviceProperty() should always return non-NULL FunctionalDeviceObject according to _Outptr_opt_. An explicit FunctionalDeviceObject NULL check has been added to keep the SDV happy and not calling our driver "defective". Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
		
							parent
							
								
									b666f587d5
								
							
						
					
					
						commit
						afdbc75bf9
					
				@ -51,6 +51,8 @@ msbuild wintun.proj [/t:<target>]
 | 
			
		||||
 | 
			
		||||
  - `SDV`: Runs Static Driver Verifier, which includes a clean driver build, only for AMD64 release configuration.
 | 
			
		||||
 | 
			
		||||
  - `SDVView`: Views the results of the Static Driver Verifier.
 | 
			
		||||
 | 
			
		||||
  - `DVL`: Runs the `SDV`, and creates a Driver Verification Log, only for AMD64 release configurations.
 | 
			
		||||
 | 
			
		||||
  - `MSM`: Builds Microsoft Installer Merge Modules in `<output folder>\wintun-<platform>-<version>.msm`. Requires WHQL signed driver.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								wintun.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								wintun.c
									
									
									
									
									
								
							@ -930,6 +930,8 @@ TunInitializeEx(
 | 
			
		||||
    Ctx->MiniportAdapterHandle = MiniportAdapterHandle;
 | 
			
		||||
 | 
			
		||||
    NdisMGetDeviceProperty(MiniportAdapterHandle, NULL, &Ctx->FunctionalDeviceObject, NULL, NULL, NULL);
 | 
			
		||||
    if (Status = NDIS_STATUS_FAILURE, !Ctx->FunctionalDeviceObject)
 | 
			
		||||
        goto cleanupFreeCtx;
 | 
			
		||||
    /* Reverse engineering indicates that we'd be better off calling
 | 
			
		||||
     * NdisWdfGetAdapterContextFromAdapterHandle(functional_device),
 | 
			
		||||
     * which points to our TUN_CTX object directly, but this isn't
 | 
			
		||||
 | 
			
		||||
@ -69,7 +69,7 @@
 | 
			
		||||
  <Target Name="SDVView">
 | 
			
		||||
    <MSBuild Projects="wintun.vcxproj" Targets="sdv" Properties="Inputs=/view;Configuration=Release;Platform=x64"/>
 | 
			
		||||
  </Target>
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  <!--
 | 
			
		||||
    Driver Verification Log
 | 
			
		||||
  -->
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user