Changeset 108794 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/ShellPkg/Library/UefiShellDriver1CommandsLib/DrvDiag.c
- Timestamp:
- Mar 31, 2025 11:31:09 AM (2 weeks ago)
- svn:sync-xref-src-repo-rev:
- 168237
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-164365 /vendor/edk2/current 103735-103757,103769-103776,129194-168232
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/ShellPkg/Library/UefiShellDriver1CommandsLib/DrvDiag.c
r101291 r108794 109 109 ControllerHandleList = AllocateZeroPool (2*sizeof (EFI_HANDLE)); 110 110 if (ControllerHandleList == NULL) { 111 S HELL_FREE_NON_NULL (DriverHandleList);112 return EFI_OUT_OF_RESOURCES;111 Status2 = EFI_OUT_OF_RESOURCES; 112 goto Done; 113 113 } 114 114 … … 122 122 ChildHandleList = AllocateZeroPool (2*sizeof (EFI_HANDLE)); 123 123 if (ChildHandleList == NULL) { 124 SHELL_FREE_NON_NULL (ControllerHandleList); 125 SHELL_FREE_NON_NULL (DriverHandleList); 126 return EFI_OUT_OF_RESOURCES; 124 Status2 = EFI_OUT_OF_RESOURCES; 125 goto Done; 127 126 } 128 127 … … 155 154 } 156 155 157 if ( ControllerHandleListCount == 0) {156 if ((ControllerHandleListCount == 0) || (ControllerHandleList == NULL)) { 158 157 if (Mode == TestModeList) { 159 158 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DRVDIAG_DRIVER_NO_HANDLES), gShellDriver1HiiHandle); … … 200 199 if (!EFI_ERROR (Status) && (DriverDiagnostics2 != NULL)) { 201 200 Language = GetBestLanguageForDriver (DriverDiagnostics2->SupportedLanguages, Lang, FALSE); 202 Found = TRUE; 203 Status = DriverDiagnostics2->RunDiagnostics ( 204 DriverDiagnostics2, 205 ControllerHandleList[ControllerHandleListLoop], 206 ChildHandleList == NULL ? NULL : ChildHandleList[ChildHandleListLoop], 207 (EFI_DRIVER_DIAGNOSTIC_TYPE)Mode, 208 Language, 209 &ErrorType, 210 &OutBufferSize, 211 &OutBuffer 212 ); 201 if (Language == NULL) { 202 Status2 = EFI_NOT_FOUND; 203 goto Done; 204 } 205 206 Found = TRUE; 207 Status = DriverDiagnostics2->RunDiagnostics ( 208 DriverDiagnostics2, 209 ControllerHandleList[ControllerHandleListLoop], 210 ChildHandleList == NULL ? NULL : ChildHandleList[ChildHandleListLoop], 211 (EFI_DRIVER_DIAGNOSTIC_TYPE)Mode, 212 Language, 213 &ErrorType, 214 &OutBufferSize, 215 &OutBuffer 216 ); 213 217 FreePool (Language); 218 Language = NULL; 214 219 } 215 220 } … … 226 231 if (!EFI_ERROR (Status)) { 227 232 Language = GetBestLanguageForDriver (DriverDiagnostics->SupportedLanguages, Lang, FALSE); 228 Status = DriverDiagnostics->RunDiagnostics ( 229 DriverDiagnostics, 230 ControllerHandleList[ControllerHandleListLoop], 231 ChildHandleList == NULL ? NULL : ChildHandleList[ChildHandleListLoop], 232 (EFI_DRIVER_DIAGNOSTIC_TYPE)Mode, 233 Language, 234 &ErrorType, 235 &OutBufferSize, 236 &OutBuffer 237 ); 233 if (Language == NULL) { 234 Status2 = EFI_NOT_FOUND; 235 goto Done; 236 } 237 238 Status = DriverDiagnostics->RunDiagnostics ( 239 DriverDiagnostics, 240 ControllerHandleList[ControllerHandleListLoop], 241 ChildHandleList == NULL ? NULL : ChildHandleList[ChildHandleListLoop], 242 (EFI_DRIVER_DIAGNOSTIC_TYPE)Mode, 243 Language, 244 &ErrorType, 245 &OutBufferSize, 246 &OutBuffer 247 ); 238 248 FreePool (Language); 249 Language = NULL; 239 250 } 240 251 } … … 308 319 } 309 320 310 if (DriverHandleList != NULL) { 311 FreePool (DriverHandleList); 312 } 313 314 if (ControllerHandleList != NULL) { 315 FreePool (ControllerHandleList); 316 } 317 318 if (ChildHandleList != NULL) { 319 FreePool (ChildHandleList); 320 } 321 Done: 322 323 SHELL_FREE_NON_NULL (DriverHandleList); 324 SHELL_FREE_NON_NULL (ControllerHandleList); 325 SHELL_FREE_NON_NULL (ChildHandleList); 326 SHELL_FREE_NON_NULL (Language); 327 SHELL_FREE_NON_NULL (OutBuffer); 321 328 322 329 return (Status2); … … 432 439 } else if (Lang != NULL) { 433 440 Language = AllocateZeroPool (StrSize (Lang)); 441 if (Language == NULL) { 442 ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellDriver1HiiHandle, L"drvdiag"); 443 ShellCommandLineFreeVarList (Package); 444 return (SHELL_OUT_OF_RESOURCES); 445 } 446 434 447 AsciiSPrint (Language, StrSize (Lang), "%S", Lang); 435 448 }
Note:
See TracChangeset
for help on using the changeset viewer.