VirtualBox

Ignore:
Timestamp:
Mar 31, 2025 11:31:09 AM (2 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168237
Message:

Devices/EFI/FirmwareNew: Merge edk2-stable202502 from the vendor branch and make it build for the important platforms, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/ShellPkg/Library/UefiShellDebug1CommandsLib/SetVar.c

    r99404 r108794  
    286286  for (Index = 2; Index < ShellCommandLineGetCount (Package); Index++) {
    287287    TempData = ShellCommandLineGetRawValue (Package, Index);
    288     ASSERT (TempData != NULL);
     288    if (TempData == NULL) {
     289      ASSERT (TempData != NULL);
     290      return EFI_INVALID_PARAMETER;
     291    }
    289292
    290293    if (TempData[0] != L'=') {
     
    402405    } else {
    403406      VariableName = ShellCommandLineGetRawValue (Package, 1);
     407      if (VariableName == NULL) {
     408        ShellCommandLineFreeVarList (Package);
     409        return SHELL_INVALID_PARAMETER;
     410      }
     411
    404412      if (!ShellCommandLineGetFlag (Package, L"-guid")) {
    405413        CopyGuid (&Guid, &gEfiGlobalVariableGuid);
    406414      } else {
    407415        StringGuid = ShellCommandLineGetValue (Package, L"-guid");
    408         RStatus    = StrToGuid (StringGuid, &Guid);
     416        if (StringGuid != NULL) {
     417          RStatus = StrToGuid (StringGuid, &Guid);
     418        } else {
     419          ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"setvar", StringGuid);
     420          ShellCommandLineFreeVarList (Package);
     421          return SHELL_INVALID_PARAMETER;
     422        }
     423
    409424        if (RETURN_ERROR (RStatus) || (StringGuid[GUID_STRING_LENGTH] != L'\0')) {
    410425          ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"setvar", StringGuid);
     
    420435        if (Status == EFI_BUFFER_TOO_SMALL) {
    421436          Buffer = AllocateZeroPool (Size);
     437          if (Buffer == NULL) {
     438            ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellDebug1HiiHandle, L"setvar");
     439            ShellCommandLineFreeVarList (Package);
     440            return SHELL_OUT_OF_RESOURCES;
     441          }
     442
    422443          Status = gRT->GetVariable ((CHAR16 *)VariableName, &Guid, &Attributes, &Size, Buffer);
    423444        }
     
    441462        if (Status == EFI_BUFFER_TOO_SMALL) {
    442463          Buffer = AllocateZeroPool (Size);
     464          if (Buffer == NULL) {
     465            ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_OUT_MEM), gShellDebug1HiiHandle, L"setvar");
     466            ShellCommandLineFreeVarList (Package);
     467            return SHELL_OUT_OF_RESOURCES;
     468          }
     469
    443470          Status = gRT->GetVariable ((CHAR16 *)VariableName, &Guid, &Attributes, &Size, Buffer);
    444471        }
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette