diff --git a/grub-lakitu/grub-core/loader/i386/efi/linux.c b/grub-lakitu/grub-core/loader/i386/efi/linux.c
index 8064c93..25ee194 100644
--- a/grub-lakitu/grub-core/loader/i386/efi/linux.c
+++ b/grub-lakitu/grub-core/loader/i386/efi/linux.c
@@ -161,8 +161,8 @@
 		int argc, char *argv[])
 {
   grub_file_t file = 0;
-  struct linux_kernel_header *lh;
-  grub_ssize_t len, start, filelen;
+  struct linux_kernel_header *lh = NULL;
+  grub_ssize_t start, filelen;
   void *kernel = NULL;
   int setup_header_end_offset;
   int rc;
@@ -212,18 +212,19 @@
       goto fail;
     }
 
-  grub_dprintf ("linuxefi", "params = %p\n", (unsigned long) params);
+  grub_dprintf ("linuxefi", "params = %p\n", params);
 
   grub_memset (params, 0, sizeof(*params));
 
   setup_header_end_offset = *((grub_uint8_t *)kernel + 0x201);
-  grub_dprintf ("linuxefi", "copying %d bytes from %p to %p\n",
-		MIN(0x202+setup_header_end_offset,sizeof (*params)) - 0x1f1,
+  grub_dprintf ("linuxefi", "copying %zu bytes from %p to %p\n",
+		MIN((grub_size_t)0x202+setup_header_end_offset,
+		    sizeof (*params)) - 0x1f1,
 		(grub_uint8_t *)kernel + 0x1f1,
 		(grub_uint8_t *)params + 0x1f1);
   grub_memcpy ((grub_uint8_t *)params + 0x1f1,
 	       (grub_uint8_t *)kernel + 0x1f1,
-		MIN(0x202+setup_header_end_offset,sizeof (*params)) - 0x1f1);
+		MIN((grub_size_t)0x202+setup_header_end_offset,sizeof (*params)) - 0x1f1);
   lh = (struct linux_kernel_header *)params;
   grub_dprintf ("linuxefi", "lh is at %p\n", lh);
   grub_dprintf ("linuxefi", "checking lh->boot_flag\n");
@@ -298,7 +299,6 @@
   handover_offset = lh->handover_offset;
 
   start = (lh->setup_sects + 1) * 512;
-  len = grub_file_size(file) - start;
 
   kernel_mem = grub_efi_allocate_pages(lh->pref_address,
 				       BYTES_TO_PAGES(lh->init_size));
@@ -344,7 +344,7 @@
       loaded = 0;
     }
 
-  if (linux_cmdline && !loaded)
+  if (linux_cmdline && lh && !loaded)
     grub_efi_free_pages ((grub_efi_physical_address_t)(grub_addr_t)
 			 linux_cmdline,
 			 BYTES_TO_PAGES(lh->cmdline_size + 1));
diff --git a/grub-lakitu/grub-core/loader/i386/linux.c b/grub-lakitu/grub-core/loader/i386/linux.c
index 46c669d..259df50 100644
--- a/grub-lakitu/grub-core/loader/i386/linux.c
+++ b/grub-lakitu/grub-core/loader/i386/linux.c
@@ -680,6 +680,7 @@
 {
   grub_file_t file = 0;
   struct linux_kernel_header lh;
+  grub_uint8_t *linux_params_ptr;
   grub_uint8_t setup_sects;
   grub_size_t real_size, prot_size, prot_file_size, kernel_offset;
   grub_ssize_t len;
@@ -811,6 +812,7 @@
 		      preferred_address))
     goto fail;
 
+
   grub_memset (&linux_params, 0, sizeof (linux_params));
   grub_memcpy (&linux_params.setup_sects, &lh.setup_sects, sizeof (lh) - 0x1F1);
 
@@ -820,7 +822,8 @@
 
   len = sizeof (linux_params) - sizeof (lh);
 
-  grub_memcpy (&linux_params + sizeof (lh), kernel + kernel_offset, len);
+  linux_params_ptr = (void *)&linux_params;
+  grub_memcpy (linux_params_ptr + sizeof (lh), kernel + kernel_offset, len);
   kernel_offset += len;
 
   linux_params.type_of_loader = GRUB_LINUX_BOOT_LOADER_TYPE;
