#include "elilo.h"
-#define MAX_LABELS 16
+#define MAX_LABELS 64
#define MSGBUFLEN 4096
static UINT8 msgbuf[MSGBUFLEN];
if (label[0])
ret = find_label(label, kname, args, initrd_name);
else
- ret = find_label(argv[index], kname, args, initrd_name);
+ ret = find_label((index < argc) ? argv[index] : NULL, kname, args, initrd_name);
/*
* not found, so assume first argument is kernel name and
* not label name
*/
if (ret == -1) {
- if (argv[index])
+ if ((index < argc) && argv[index])
StrCpy(kname, argv[index]);
else
StrCpy(kname, elilo_opt.default_kernel);
if (ret != 0) {
elilo_opt.prompt = 1;
elilo_opt.timeout = ELILO_TIMEOUT_INFINITY;
+ elilo_opt.initrd[0] = CHAR_NULL;
goto restart;
}
}