]> code.delx.au - refind/blobdiff - refind/config.c
Update to Discoverable Partitions Specification support to work better
[refind] / refind / config.c
index 6343f12a8547f09e5a8bf08ae8a082a247bc3ba3..6227c67919ded63040851182de82bb68e7a1b49b 100644 (file)
@@ -1007,10 +1007,15 @@ static REFIT_FILE * GenerateOptionsFromEtcFstab(REFIT_VOLUME *Volume) {
             FreeTokenLine(&TokenList, &TokenCount);
          } // while
 
-         Options->Current8Ptr  = (CHAR8 *)Options->Buffer;
-         Options->End8Ptr      = Options->Current8Ptr + Options->BufferSize;
-         Options->Current16Ptr = (CHAR16 *)Options->Buffer;
-         Options->End16Ptr     = Options->Current16Ptr + (Options->BufferSize >> 1);
+         if (Options->Buffer) {
+            Options->Current8Ptr  = (CHAR8 *)Options->Buffer;
+            Options->End8Ptr      = Options->Current8Ptr + Options->BufferSize;
+            Options->Current16Ptr = (CHAR16 *)Options->Buffer;
+            Options->End16Ptr     = Options->Current16Ptr + (Options->BufferSize >> 1);
+         } else {
+             MyFreePool(Options);
+             Options = NULL;
+         }
 
          MyFreePool(Fstab->Buffer);
          MyFreePool(Fstab);