StringPtr = NextStringPtr;\r
\r
//\r
- // 5. Find ReadOnly filter.\r
+ // 5. Find READONLY tag.\r
//\r
- if ((StringPtr != NULL) && StrnCmp (StringPtr, L"&ReadOnly", StrLen (L"&ReadOnly")) == 0) {\r
+ if ((StringPtr != NULL) && StrnCmp (StringPtr, L"&READONLY", StrLen (L"&READONLY")) == 0) {\r
ReadOnly = TRUE;\r
- StringPtr += StrLen (L"&ReadOnly");\r
+ StringPtr += StrLen (L"&READONLY");\r
} else {\r
ReadOnly = FALSE;\r
}\r
// 8. Check the readonly flag.\r
//\r
if (ExtractReadOnlyFromOpCode (OpCode) != ReadOnly) {\r
+ //\r
+ // Extracting readonly flag form opcode and extracting "READONLY" tag form KeywordString should have the same results.\r
+ // If not, the input KeywordString must be incorrect, return the error status to caller.\r
+ //\r
+ *ProgressErr = KEYWORD_HANDLER_INCOMPATIBLE_VALUE_DETECTED;\r
+ Status = EFI_INVALID_PARAMETER;\r
+ goto Done;\r
+ }\r
+ if (ReadOnly) {\r
*ProgressErr = KEYWORD_HANDLER_ACCESS_NOT_PERMITTED;\r
Status = EFI_ACCESS_DENIED;\r
- goto Done; \r
+ goto Done;\r
}\r
\r
//\r