]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/VirtioFsDxe/SimpleFsSetPosition.c
OvmfPkg/VirtioFsDxe: add EFI_FILE_INFO cache fields to VIRTIO_FS_FILE
[mirror_edk2.git] / OvmfPkg / VirtioFsDxe / SimpleFsSetPosition.c
index ac62853026529cd101e2ae43c558c2e4e122c69c..a548012d9c09cc2d04d898c47aefc4a4350ee775 100644 (file)
@@ -7,6 +7,8 @@
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 **/\r
 \r
+#include <Library/MemoryAllocationLib.h> // FreePool()\r
+\r
 #include "VirtioFsDxe.h"\r
 \r
 EFI_STATUS\r
@@ -31,6 +33,13 @@ VirtioFsSimpleFileSetPosition (
       return EFI_UNSUPPORTED;\r
     }\r
     VirtioFsFile->FilePosition = 0;\r
+    if (VirtioFsFile->FileInfoArray != NULL) {\r
+      FreePool (VirtioFsFile->FileInfoArray);\r
+      VirtioFsFile->FileInfoArray = NULL;\r
+    }\r
+    VirtioFsFile->SingleFileInfoSize = 0;\r
+    VirtioFsFile->NumFileInfo        = 0;\r
+    VirtioFsFile->NextFileInfo       = 0;\r
     return EFI_SUCCESS;\r
   }\r
 \r