diff options
author | Igor Kulchytskyy <igork@ami.com> | 2024-12-23 17:13:19 -0500 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2024-12-27 09:06:40 +0000 |
commit | 0986082d7ef68fe63d215af925b22394ac93e544 (patch) | |
tree | 9a11564148b20c6f8c871a9ce3e8945701f32ba1 /RedfishPkg | |
parent | 9e6537469d4700d9d793ee21e9c2f2e7ddbb2176 (diff) | |
download | edk2-0986082d7ef68fe63d215af925b22394ac93e544.tar.gz |
Redfish/HiiUtilityLib Fix incorrect type assignment
Replaced direct assignment of 'Value = (EFI_HII_VALUE *)&Question->Value'
with the correct usage of HiiStatementValueToHiiValue function.
This resolves the issue where EFI_HII_VALUE and HII_STATEMENT_VALUE types
are incompatible, ensuring proper handling of Question->Value.
Signed-off-by: Igor Kulchytskyy <igork@ami.com>
Diffstat (limited to 'RedfishPkg')
-rw-r--r-- | RedfishPkg/Library/HiiUtilityLib/HiiUtilityInternal.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/RedfishPkg/Library/HiiUtilityLib/HiiUtilityInternal.c b/RedfishPkg/Library/HiiUtilityLib/HiiUtilityInternal.c index b61b7f5fcd..825b02d1fb 100644 --- a/RedfishPkg/Library/HiiUtilityLib/HiiUtilityInternal.c +++ b/RedfishPkg/Library/HiiUtilityLib/HiiUtilityInternal.c @@ -4125,7 +4125,12 @@ EvaluateHiiExpression ( goto Done;
}
- Value = (EFI_HII_VALUE *)&Question->Value;
+ Status = HiiStatementValueToHiiValue (&Question->Value, Value);
+ if (EFI_ERROR (Status)) {
+ ReleaseHiiValue (Value);
+ Value->Type = EFI_IFR_TYPE_UNDEFINED;
+ }
+
break;
case EFI_IFR_SECURITY_OP:
@@ -4334,7 +4339,11 @@ EvaluateHiiExpression ( //
// push the questions' value on to the expression stack
//
- Value = (EFI_HII_VALUE *)&Question->Value;
+ Status = HiiStatementValueToHiiValue (&Question->Value, Value);
+ if (EFI_ERROR (Status)) {
+ ReleaseHiiValue (Value);
+ Value->Type = EFI_IFR_TYPE_UNDEFINED;
+ }
}
break;
@@ -4461,7 +4470,12 @@ EvaluateHiiExpression ( break;
}
- Value = (EFI_HII_VALUE *)&Question->Value;
+ Status = HiiStatementValueToHiiValue (&Question->Value, Value);
+ if (EFI_ERROR (Status)) {
+ ReleaseHiiValue (Value);
+ Value->Type = EFI_IFR_TYPE_UNDEFINED;
+ }
+
break;
case EFI_IFR_STRING_REF2_OP:
|