From: Bernhard Walle Subject: Increase command line size to 2048 chars. References: bnc#242702 Signed-off-by: Bernhard Walle --- choosers/simple.c | 10 +++++----- choosers/textmenu.c | 6 +++--- config.c | 6 +++--- elilo.c | 2 +- elilo.h | 3 ++- 5 files changed, 14 insertions(+), 13 deletions(-) --- a/choosers/simple.c +++ b/choosers/simple.c @@ -41,8 +41,8 @@ static VOID display_label_info(CHAR16 *name) { CHAR16 *desc; - CHAR16 initrd_name[CMDLINE_MAXLEN]; - CHAR16 vmcode_name[CMDLINE_MAXLEN]; + CHAR16 initrd_name[PATHNAME_MAXLEN]; + CHAR16 vmcode_name[PATHNAME_MAXLEN]; CHAR16 options_tmp[CMDLINE_MAXLEN]; CHAR16 options[CMDLINE_MAXLEN]; CHAR16 kname[FILENAME_MAXLEN]; @@ -254,10 +254,10 @@ simple_choose(CHAR16 **argv, INTN argc, # define BOOT_IMG_STR L"BOOT_IMAGE=" CHAR16 buffer[CMDLINE_MAXLEN]; CHAR16 alt_buffer[CMDLINE_MAXLEN]; - CHAR16 initrd_name[CMDLINE_MAXLEN]; - CHAR16 vmcode_name[CMDLINE_MAXLEN]; + CHAR16 initrd_name[PATHNAME_MAXLEN]; + CHAR16 vmcode_name[PATHNAME_MAXLEN]; CHAR16 args[CMDLINE_MAXLEN]; - CHAR16 devname[CMDLINE_MAXLEN]; + CHAR16 devname[PATHNAME_MAXLEN]; CHAR16 dpath[FILENAME_MAXLEN]; CHAR16 *slash_pos, *colon_pos, *backslash_pos; UINTN len; --- a/choosers/textmenu.c +++ b/choosers/textmenu.c @@ -363,10 +363,10 @@ textmenu_choose(CHAR16 **argv, INTN argc { # define BOOT_IMG_STR L"BOOT_IMAGE=" CHAR16 label[CMDLINE_MAXLEN]; - CHAR16 initrd_name[CMDLINE_MAXLEN]; - CHAR16 vmcode_name[CMDLINE_MAXLEN]; + CHAR16 initrd_name[PATHNAME_MAXLEN]; + CHAR16 vmcode_name[PATHNAME_MAXLEN]; CHAR16 args[CMDLINE_MAXLEN]; - CHAR16 devname[CMDLINE_MAXLEN]; + CHAR16 devname[PATHNAME_MAXLEN]; CHAR16 dpath[FILENAME_MAXLEN]; CHAR16 *slash_pos, *colon_pos, *backslash_pos; UINTN len; --- a/config.c +++ b/config.c @@ -56,7 +56,7 @@ */ #define ELILO_DEFAULT_CONFIG L"elilo.conf" -#define MAX_STRING CMDLINE_MAXLEN +#define MAX_STRING 512 #define CONFIG_BUFSIZE 512 /* input buffer size */ /* @@ -71,7 +71,7 @@ typedef struct boot_image { struct boot_image *next; CHAR16 label[MAX_STRING]; CHAR16 kname[FILENAME_MAXLEN]; - CHAR16 options[MAX_STRING]; + CHAR16 options[CMDLINE_MAXLEN]; CHAR16 initrd[FILENAME_MAXLEN]; CHAR16 vmcode[FILENAME_MAXLEN]; CHAR16 root[FILENAME_MAXLEN]; @@ -100,7 +100,7 @@ typedef struct { CHAR16 root[FILENAME_MAXLEN]; /* globally defined root fs */ CHAR16 initrd[FILENAME_MAXLEN];/* globally defined initrd */ CHAR16 vmcode[FILENAME_MAXLEN];/* globally defined boot-time module */ - CHAR16 options[MAX_STRING]; + CHAR16 options[CMDLINE_MAXLEN]; CHAR16 default_image_name[MAX_STRING]; CHAR16 message_file[MAX_MESSAGES][FILENAME_MAXLEN]; CHAR16 chooser[FILENAME_MAXLEN];/* which image chooser to use */ --- a/elilo.c +++ b/elilo.c @@ -93,7 +93,7 @@ do_kernel_load(CHAR16 *kname, kdesc_t *k INTN kernel_load(EFI_HANDLE image, CHAR16 *kname, kdesc_t *kd, memdesc_t *imem, memdesc_t *mmem) { - CHAR16 kernel[CMDLINE_MAXLEN]; + CHAR16 kernel[FILENAME_MAXLEN]; /* * Do the vm image switch here --- a/elilo.h +++ b/elilo.h @@ -69,7 +69,8 @@ #define ELILO_DEFAULT_TIMEOUT ELILO_TIMEOUT_INFINITY #define ELILO_TIMEOUT_INFINITY (~0UL) -#define CMDLINE_MAXLEN 512 /* needed by ia32 */ +#define CMDLINE_MAXLEN 2048 +#define PATHNAME_MAXLEN 512 #define FILENAME_MAXLEN 256 #define MAX_ARGS 256 /* Just pick an arbitrary number that's high enough for now :o) */