X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=EdkModulePkg%2FUniversal%2FVariable%2FRuntimeDxe%2FVariable.c;h=5d631a53682b91515f3bffb59265e2957f4e4cab;hb=3088e811376d8893366c0a48d493b480e3e96fda;hp=d575417fe94515d3980559a1568c9df9622992e2;hpb=c65c1e1e1428a1a7c41a3b89a84383aa15624c7a;p=mirror_edk2.git diff --git a/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c index d575417fe9..5d631a5368 100644 --- a/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c +++ b/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c @@ -815,7 +815,8 @@ Returns: // The size of the VariableName, including the Unicode Null in bytes plus // the DataSize is limited to maximum size of MAX_VARIABLE_SIZE (1024) bytes. // - else if (sizeof (VARIABLE_HEADER) + ArrayLength (VariableName) + DataSize > MAX_VARIABLE_SIZE) { + else if ((DataSize > MAX_VARIABLE_SIZE) || + (sizeof (VARIABLE_HEADER) + ArrayLength (VariableName) + DataSize > MAX_VARIABLE_SIZE)) { return EFI_INVALID_PARAMETER; } //