In the function InternalSetAlias, it appears that AliasLower is duplicated (fromAlias), converted to lower case and freed ,but never actually used. Am I missing something?
// Convert to lowercase to make aliases case-insensitive if (Alias != NULL) { AliasLower = AllocateCopyPool (StrSize (Alias), Alias); if (AliasLower == NULL) { return EFI_OUT_OF_RESOURCES; } ToLower (AliasLower); } else { AliasLower = NULL; } // // We must be trying to remove one if Alias is NULL // if (Alias == NULL) { // // remove an alias (but passed in COMMAND parameter) // Status = (gRT->SetVariable((CHAR16*)Command, &gShellAliasGuid, 0, 0, NULL)); } else { // // Add and replace are the same // // We dont check the error return on purpose since the variable may not exist. gRT->SetVariable((CHAR16*)Command, &gShellAliasGuid, 0, 0, NULL); Status = (gRT->SetVariable((CHAR16*)Alias, &gShellAliasGuid, EFI_VARIABLE_BOOTSERVICE_ACCESS|(Volatile?0:EFI_VARIABLE_NON_VOLATILE), StrSize(Command), (VOID*)Command)); } if (Alias != NULL) { FreePool (AliasLower); } _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel