]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkUnixPkg/Dxe/UnixThunk/Bus/BlockIo/UnixBlockIo.c
Fix component name bugs when input Controller Name is invalid
[mirror_edk2.git] / EdkUnixPkg / Dxe / UnixThunk / Bus / BlockIo / UnixBlockIo.c
index 81dd20661b8430b56a2e265fe2e3fc2e1375aee2..1425531cf8986dea46c87deff0d9586c1947ad96 100644 (file)
@@ -60,8 +60,8 @@ Abstract:
 \r
 --*/\r
 \r
 \r
 --*/\r
 \r
-#include <fcntl.h>
-#include <unistd.h>
+#include <fcntl.h>\r
+#include <unistd.h>\r
 #include "UnixBlockIo.h"\r
 \r
 //\r
 #include "UnixBlockIo.h"\r
 \r
 //\r
@@ -318,7 +318,7 @@ EFI_DRIVER_BINDING_PROTOCOL gUnixBlockIoDriverBinding = {
   UnixBlockIoDriverBindingSupported,\r
   UnixBlockIoDriverBindingStart,\r
   UnixBlockIoDriverBindingStop,\r
   UnixBlockIoDriverBindingSupported,\r
   UnixBlockIoDriverBindingStart,\r
   UnixBlockIoDriverBindingStop,\r
-  0x10,\r
+  0xa,\r
   NULL,\r
   NULL\r
 };\r
   NULL,\r
   NULL\r
 };\r
@@ -372,7 +372,7 @@ Returns:
     //\r
     // Check the GUID to see if this is a handle type the driver supports\r
     //\r
     //\r
     // Check the GUID to see if this is a handle type the driver supports\r
     //\r
-    if (CompareGuid (UnixIo->TypeGuid, &gEfiUnixVirtualDisksGuid) ) {
+    if (CompareGuid (UnixIo->TypeGuid, &gEfiUnixVirtualDisksGuid) ) {\r
       Status = EFI_SUCCESS;\r
     }\r
   }\r
       Status = EFI_SUCCESS;\r
     }\r
   }\r
@@ -420,7 +420,7 @@ Returns:
   BOOLEAN                     WriteProtected;\r
   UINTN                       NumberOfBlocks;\r
   UINTN                       BlockSize;\r
   BOOLEAN                     WriteProtected;\r
   UINTN                       NumberOfBlocks;\r
   UINTN                       BlockSize;\r
-  INTN                       i;
+  INTN                       i;\r
 \r
   //\r
   // Grab the protocols we need\r
 \r
   //\r
   // Grab the protocols we need\r
@@ -446,47 +446,47 @@ Returns:
   }\r
 \r
   Status  = EFI_NOT_FOUND;\r
   }\r
 \r
   Status  = EFI_NOT_FOUND;\r
-  //  Extract filename.
+  //  Extract filename.\r
   Str     = UnixIo->EnvString;\r
   Str     = UnixIo->EnvString;\r
-  i = 0;
-  while (*Str && *Str != ':')
-    Buffer[i++] = *Str++;
-  Buffer[i] = 0;
+  i = 0;\r
+  while (*Str && *Str != ':')\r
+    Buffer[i++] = *Str++;\r
+  Buffer[i] = 0;\r
   if (*Str != ':') {\r
     goto Done;\r
   }\r
 \r
   Str++;\r
 \r
   if (*Str != ':') {\r
     goto Done;\r
   }\r
 \r
   Str++;\r
 \r
-  RemovableMedia = FALSE;
-  WriteProtected = TRUE;
-  NumberOfBlocks = 0;
-  BlockSize = 512;
-  do {
+  RemovableMedia = FALSE;\r
+  WriteProtected = TRUE;\r
+  NumberOfBlocks = 0;\r
+  BlockSize = 512;\r
+  do {\r
     if (*Str == 'R' || *Str == 'F') {\r
       RemovableMedia = (BOOLEAN) (*Str == 'R');\r
       Str++;\r
     if (*Str == 'R' || *Str == 'F') {\r
       RemovableMedia = (BOOLEAN) (*Str == 'R');\r
       Str++;\r
-    }
+    }\r
     if (*Str == 'O' || *Str == 'W') {\r
       WriteProtected  = (BOOLEAN) (*Str == 'O');\r
     if (*Str == 'O' || *Str == 'W') {\r
       WriteProtected  = (BOOLEAN) (*Str == 'O');\r
-      Str++;
-    }
-    if (*Str == 0)
-      break;
-    if (*Str != ';')
-      goto Done;
-    Str++;
-
+      Str++;\r
+    }\r
+    if (*Str == 0)\r
+      break;\r
+    if (*Str != ';')\r
+      goto Done;\r
+    Str++;\r
+\r
     NumberOfBlocks  = Atoi (Str);\r
     Str       = GetNextElementPastTerminator (Str, ';');\r
     NumberOfBlocks  = Atoi (Str);\r
     Str       = GetNextElementPastTerminator (Str, ';');\r
-    if (NumberOfBlocks == 0)
-      break;
-
+    if (NumberOfBlocks == 0)\r
+      break;\r
+\r
     BlockSize = Atoi (Str);\r
     BlockSize = Atoi (Str);\r
-    if (BlockSize != 0)
+    if (BlockSize != 0)\r
       Str       = GetNextElementPastTerminator (Str, ';');\r
       Str       = GetNextElementPastTerminator (Str, ';');\r
-  } while (0);
-
+  } while (0);\r
+\r
   //\r
   // If we get here the variable is valid so do the work.\r
   //\r
   //\r
   // If we get here the variable is valid so do the work.\r
   //\r
@@ -693,10 +693,10 @@ Returns:
 \r
   Private->Filename[Index]      = 0;\r
 \r
 \r
   Private->Filename[Index]      = 0;\r
 \r
-  Private->Mode                 = (ReadOnly ? O_RDONLY : O_RDWR);
+  Private->Mode                 = (ReadOnly ? O_RDONLY : O_RDWR);\r
 \r
   Private->NumberOfBlocks       = NumberOfBlocks;\r
 \r
   Private->NumberOfBlocks       = NumberOfBlocks;\r
-  Private->fd                   = -1;
+  Private->fd                   = -1;\r
 \r
   Private->ControllerNameTable  = NULL;\r
 \r
 \r
   Private->ControllerNameTable  = NULL;\r
 \r
@@ -780,19 +780,19 @@ Returns:
   //\r
   // If the device is already opened, close it\r
   //\r
   //\r
   // If the device is already opened, close it\r
   //\r
-  if (Private->fd >= 0) {
+  if (Private->fd >= 0) {\r
     BlockIo->Reset (BlockIo, FALSE);\r
   }\r
 \r
   //\r
   // Open the device\r
   //\r
     BlockIo->Reset (BlockIo, FALSE);\r
   }\r
 \r
   //\r
   // Open the device\r
   //\r
-  Private->fd = Private->UnixThunk->Open
-    (Private->Filename, Private->Mode, 0644);
+  Private->fd = Private->UnixThunk->Open\r
+    (Private->Filename, Private->Mode, 0644);\r
 \r
 \r
-  if (Private->fd < 0) {
-    DEBUG ((EFI_D_INFO, "PlOpenBlock: Could not open %s\n",
-           Private->Filename));
+  if (Private->fd < 0) {\r
+    DEBUG ((EFI_D_INFO, "PlOpenBlock: Could not open %s\n",\r
+           Private->Filename));\r
     BlockIo->Media->MediaPresent  = FALSE;\r
     Status                        = EFI_NO_MEDIA;\r
     goto Done;\r
     BlockIo->Media->MediaPresent  = FALSE;\r
     Status                        = EFI_NO_MEDIA;\r
     goto Done;\r
@@ -834,12 +834,12 @@ Returns:
     //\r
     // first set it to 0\r
     //\r
     //\r
     // first set it to 0\r
     //\r
-    Private->UnixThunk->FTruncate (Private->fd, 0);
+    Private->UnixThunk->FTruncate (Private->fd, 0);\r
 \r
     //\r
     // then set it to the needed file size (OS will zero fill it)\r
     //\r
 \r
     //\r
     // then set it to the needed file size (OS will zero fill it)\r
     //\r
-    Private->UnixThunk->FTruncate (Private->fd, EndOfFile);
+    Private->UnixThunk->FTruncate (Private->fd, EndOfFile);\r
   }\r
 \r
   DEBUG ((EFI_D_INIT, "%HPlOpenBlock: opened %s%N\n", Private->Filename));\r
   }\r
 \r
   DEBUG ((EFI_D_INIT, "%HPlOpenBlock: opened %s%N\n", Private->Filename));\r
@@ -878,13 +878,13 @@ Returns:
 --*/\r
 {\r
   return EFI_DEVICE_ERROR;\r
 --*/\r
 {\r
   return EFI_DEVICE_ERROR;\r
-
-#if 0
+\r
+#if 0\r
   EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
   EFI_STATUS            Status;\r
   BOOLEAN               ReinstallBlockIoFlag;\r
 \r
   EFI_BLOCK_IO_PROTOCOL *BlockIo;\r
   EFI_STATUS            Status;\r
   BOOLEAN               ReinstallBlockIoFlag;\r
 \r
-
+\r
   BlockIo = &Private->BlockIo;\r
 \r
   switch (Private->UnixThunk->GetLastError ()) {\r
   BlockIo = &Private->BlockIo;\r
 \r
   switch (Private->UnixThunk->GetLastError ()) {\r
@@ -928,7 +928,7 @@ Returns:
   }\r
 \r
   return Status;\r
   }\r
 \r
   return Status;\r
-#endif
+#endif\r
 }\r
 \r
 STATIC\r
 }\r
 \r
 STATIC\r
@@ -1017,7 +1017,7 @@ Returns:
   // Seek to End of File\r
   //\r
   DistanceToMove = MultU64x32 (Lba, BlockSize);\r
   // Seek to End of File\r
   //\r
   DistanceToMove = MultU64x32 (Lba, BlockSize);\r
-  Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, SEEK_SET);
+  Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, SEEK_SET);\r
 \r
   if (EFI_ERROR (Status)) {\r
     DEBUG ((EFI_D_INIT, "WriteBlocks: SetFilePointer failed\n"));\r
 \r
   if (EFI_ERROR (Status)) {\r
     DEBUG ((EFI_D_INIT, "WriteBlocks: SetFilePointer failed\n"));\r
@@ -1062,7 +1062,7 @@ UnixBlockIoReadBlocks (
 --*/\r
 {\r
   UNIX_BLOCK_IO_PRIVATE *Private;\r
 --*/\r
 {\r
   UNIX_BLOCK_IO_PRIVATE *Private;\r
-  ssize_t                 len;
+  ssize_t                 len;\r
   EFI_STATUS              Status;\r
 \r
   Private = UNIX_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);\r
   EFI_STATUS              Status;\r
 \r
   Private = UNIX_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);\r
@@ -1072,9 +1072,9 @@ UnixBlockIoReadBlocks (
     return Status;\r
   }\r
 \r
     return Status;\r
   }\r
 \r
-  len = Private->UnixThunk->Read (Private->fd, Buffer, BufferSize);
+  len = Private->UnixThunk->Read (Private->fd, Buffer, BufferSize);\r
   if (len != BufferSize) {\r
   if (len != BufferSize) {\r
-    DEBUG ((EFI_D_INIT, "ReadBlocks: ReadFile failed.\n"));
+    DEBUG ((EFI_D_INIT, "ReadBlocks: ReadFile failed.\n"));\r
     return UnixBlockIoError (Private);\r
   }\r
 \r
     return UnixBlockIoError (Private);\r
   }\r
 \r
@@ -1121,7 +1121,7 @@ UnixBlockIoWriteBlocks (
 --*/\r
 {\r
   UNIX_BLOCK_IO_PRIVATE *Private;\r
 --*/\r
 {\r
   UNIX_BLOCK_IO_PRIVATE *Private;\r
-  ssize_t                 len;
+  ssize_t                 len;\r
   EFI_STATUS              Status;\r
 \r
   Private = UNIX_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);\r
   EFI_STATUS              Status;\r
 \r
   Private = UNIX_BLOCK_IO_PRIVATE_DATA_FROM_THIS (This);\r
@@ -1131,9 +1131,9 @@ UnixBlockIoWriteBlocks (
     return Status;\r
   }\r
 \r
     return Status;\r
   }\r
 \r
-  len = Private->UnixThunk->Write (Private->fd, Buffer, BufferSize);
+  len = Private->UnixThunk->Write (Private->fd, Buffer, BufferSize);\r
   if (len != BufferSize) {\r
   if (len != BufferSize) {\r
-    DEBUG ((EFI_D_INIT, "ReadBlocks: WriteFile failed.\n"));
+    DEBUG ((EFI_D_INIT, "ReadBlocks: WriteFile failed.\n"));\r
     return UnixBlockIoError (Private);\r
   }\r
 \r
     return UnixBlockIoError (Private);\r
   }\r
 \r
@@ -1198,7 +1198,7 @@ UnixBlockIoResetBlock (
 \r
   if (Private->fd >= 0) {\r
     Private->UnixThunk->Close (Private->fd);\r
 \r
   if (Private->fd >= 0) {\r
     Private->UnixThunk->Close (Private->fd);\r
-    Private->fd = -1;
+    Private->fd = -1;\r
   }\r
 \r
   return EFI_SUCCESS;\r
   }\r
 \r
   return EFI_SUCCESS;\r
@@ -1272,15 +1272,15 @@ This function extends the capability of SetFilePointer to accept 64 bit paramete
 // TODO:    MoveMethod - add argument and description to function comment\r
 {\r
   EFI_STATUS    Status;\r
 // TODO:    MoveMethod - add argument and description to function comment\r
 {\r
   EFI_STATUS    Status;\r
-  off_t         res;
+  off_t         res;\r
 \r
 \r
-  res = Private->UnixThunk->Lseek(Private->fd, DistanceToMove, MoveMethod);
-  if (res == -1) {
+  res = Private->UnixThunk->Lseek(Private->fd, DistanceToMove, MoveMethod);\r
+  if (res == -1) {\r
     Status = EFI_INVALID_PARAMETER;\r
   }\r
 \r
   if (NewFilePointer != NULL) {\r
     Status = EFI_INVALID_PARAMETER;\r
   }\r
 \r
   if (NewFilePointer != NULL) {\r
-    *NewFilePointer = res;
+    *NewFilePointer = res;\r
   }\r
 \r
   return Status;\r
   }\r
 \r
   return Status;\r