NextVariable->MonotonicCount = MonotonicCount;\r
SetMem (&NextVariable->TimeStamp, sizeof (EFI_TIME), 0);\r
\r
- if (((Attributes & EFI_VARIABLE_APPEND_WRITE) == 0) && \r
- ((Attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) != 0)) {\r
- CopyMem (&NextVariable->TimeStamp, TimeStamp, sizeof (EFI_TIME));\r
- } else if (\r
- ((Attributes & EFI_VARIABLE_APPEND_WRITE) != 0) && \r
- ((Attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) != 0)) {\r
+ if (((Attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) != 0) &&\r
+ TimeStamp != NULL) {\r
+ if ((Attributes & EFI_VARIABLE_APPEND_WRITE) == 0) {\r
+ CopyMem (&NextVariable->TimeStamp, TimeStamp, sizeof (EFI_TIME));\r
+ } else {\r
//\r
// In the case when the EFI_VARIABLE_APPEND_WRITE attribute is set, only\r
// when the new TimeStamp value is later than the current timestamp associated\r
if (CompareTimeStamp (&Variable->CurrPtr->TimeStamp, TimeStamp)) {\r
CopyMem (&NextVariable->TimeStamp, TimeStamp, sizeof (EFI_TIME));\r
}\r
+ }\r
}\r
\r
//\r