Changeset View
Changeset View
Standalone View
Standalone View
head/stand/i386/loader/chain.c
Show First 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | command_chain(int argc, char *argv[]) | ||||
} | } | ||||
fd = open(argv[1], O_RDONLY); | fd = open(argv[1], O_RDONLY); | ||||
if (fd == -1) { | if (fd == -1) { | ||||
command_errmsg = "open failed"; | command_errmsg = "open failed"; | ||||
return (CMD_ERROR); | return (CMD_ERROR); | ||||
} | } | ||||
#ifdef LOADER_VERIEXEC | |||||
if (verify_file(fd, argv[1], 0, VE_MUST) < 0) { | |||||
sprintf(command_errbuf, "can't verify: %s", argv[1]); | |||||
close(fd); | |||||
return (CMD_ERROR); | |||||
} | |||||
#endif | |||||
len = strlen(argv[1]); | len = strlen(argv[1]); | ||||
if (argv[1][len-1] != ':') { | if (argv[1][len-1] != ':') { | ||||
if (fstat(fd, &st) == -1) { | if (fstat(fd, &st) == -1) { | ||||
command_errmsg = "stat failed"; | command_errmsg = "stat failed"; | ||||
close(fd); | close(fd); | ||||
return (CMD_ERROR); | return (CMD_ERROR); | ||||
} | } | ||||
size = st.st_size; | size = st.st_size; | ||||
▲ Show 20 Lines • Show All 51 Lines • Show Last 20 Lines |