UINTN Index;\r
UINT8 CompressionId;\r
UDF_FILE_INFO PreviousFile;\r
+ BOOLEAN NotParent;\r
+ BOOLEAN NotFile;\r
\r
ZeroMem ((VOID *)File, sizeof (UDF_FILE_INFO));\r
\r
goto Error_Find_File;\r
}\r
\r
- if (CompareMem ((VOID *)&PreviousFile, (VOID *)Parent,\r
- sizeof (UDF_FILE_INFO)) != 0) {\r
+ NotParent = (CompareMem ((VOID *)&PreviousFile, (VOID *)Parent,\r
+ sizeof (UDF_FILE_INFO)) != 0);\r
+ NotFile = (CompareMem ((VOID *)&PreviousFile, (VOID *)File,\r
+ sizeof (UDF_FILE_INFO)) != 0);\r
+\r
+ if (NotParent && NotFile) {\r
CleanupFileInformation (&PreviousFile);\r
}\r
\r
- CopyMem ((VOID *)&PreviousFile, (VOID *)File, sizeof (UDF_FILE_INFO));\r
+ if (NotFile) {\r
+ CopyMem ((VOID *)&PreviousFile, (VOID *)File, sizeof (UDF_FILE_INFO));\r
+ }\r
}\r
\r
//\r