]> git.ozlabs.org Git - yaboot.git/blobdiff - second/yaboot.c
Fix incorrect comparision in get_params
[yaboot.git] / second / yaboot.c
index 9075db1bf004fdaab7625683408844e97358d62f..5c8c8ea2310344d081b97473d2c19d64b65c48bd 100644 (file)
@@ -58,6 +58,8 @@
 #define CONFIG_FILE_NAME       "yaboot.conf"
 #define CONFIG_FILE_MAX                0x8000          /* 32k */
 
+#define MESSAGE_FILE_MAX       2048
+
 #ifdef USE_MD5_PASSWORDS
 #include "md5.h"
 #endif /* USE_MD5_PASSWORDS */
@@ -295,13 +297,13 @@ void print_message_file(char *filename)
      } else
          opened = 1;
 
-     msg = malloc(2001);
+     msg = malloc(MESSAGE_FILE_MAX + 1);
      if (!msg)
          goto done;
      else
-         memset(msg, 0, 2001);
+         memset(msg, 0, MESSAGE_FILE_MAX + 1);
 
-     if (file.fs->read(&file, 2000, msg) <= 0)
+     if (file.fs->read(&file, MESSAGE_FILE_MAX, msg) <= 0)
          goto done;
      else
          prom_printf("%s", msg);
@@ -983,7 +985,7 @@ int get_params(struct boot_param_t* params)
 
            /* check if user seted to use a initrd file from boot console */
            if (!definitrd && p != manualinitrd) {
-               if (manualinitrd[0] != "/" && (prom_get_devtype(defdevice_bak) != FILE_DEVICE_NET)) {
+               if (manualinitrd[0] != '/' && (prom_get_devtype(defdevice_bak) != FILE_DEVICE_NET)) {
                    strcpy(initrdpath, "/");
                    strcat(initrdpath, manualinitrd);
                } else
@@ -1011,8 +1013,6 @@ int get_params(struct boot_param_t* params)
 void
 yaboot_text_ui(void)
 {
-#define MAX_HEADERS    32
-
      struct boot_file_t        file;
      int                       result;
      static struct boot_param_t        params;
@@ -1209,11 +1209,6 @@ load_elf32(struct boot_file_t *file, loadinfo_t *loadinfo)
 
      loadinfo->entry = e->e_entry;
 
-     if (e->e_phnum > MAX_HEADERS) {
-         prom_printf ("Can only load kernels with one program header\n");
-         goto bail;
-     }
-
      ph = (Elf32_Phdr *)malloc(sizeof(Elf32_Phdr) * e->e_phnum);
      if (!ph) {
          prom_printf ("Malloc error\n");
@@ -1347,11 +1342,6 @@ load_elf64(struct boot_file_t *file, loadinfo_t *loadinfo)
 
      loadinfo->entry = e->e_entry;
 
-     if (e->e_phnum > MAX_HEADERS) {
-         prom_printf ("Can only load kernels with one program header\n");
-         goto bail;
-     }
-
      ph = (Elf64_Phdr *)malloc(sizeof(Elf64_Phdr) * e->e_phnum);
      if (!ph) {
          prom_printf ("Malloc error\n");