linux-user: Tidy loader_exec
Reorg the if cases to reduce indentation. Test for 4 bytes in the file before checking the signatures. Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
7d2c5526ed
commit
f485be725d
@ -154,31 +154,31 @@ int loader_exec(int fdexec, const char *filename, char **argv, char **envp,
|
||||
|
||||
retval = prepare_binprm(bprm);
|
||||
|
||||
if (retval >= 0) {
|
||||
if (bprm->buf[0] == 0x7f
|
||||
&& bprm->buf[1] == 'E'
|
||||
&& bprm->buf[2] == 'L'
|
||||
&& bprm->buf[3] == 'F') {
|
||||
retval = load_elf_binary(bprm, infop);
|
||||
#if defined(TARGET_HAS_BFLT)
|
||||
} else if (bprm->buf[0] == 'b'
|
||||
&& bprm->buf[1] == 'F'
|
||||
&& bprm->buf[2] == 'L'
|
||||
&& bprm->buf[3] == 'T') {
|
||||
retval = load_flt_binary(bprm, infop);
|
||||
#endif
|
||||
} else {
|
||||
return -ENOEXEC;
|
||||
}
|
||||
if (retval < 4) {
|
||||
return -ENOEXEC;
|
||||
}
|
||||
|
||||
if (retval >= 0) {
|
||||
/* success. Initialize important registers */
|
||||
do_init_thread(regs, infop);
|
||||
if (bprm->buf[0] == 0x7f
|
||||
&& bprm->buf[1] == 'E'
|
||||
&& bprm->buf[2] == 'L'
|
||||
&& bprm->buf[3] == 'F') {
|
||||
retval = load_elf_binary(bprm, infop);
|
||||
#if defined(TARGET_HAS_BFLT)
|
||||
} else if (bprm->buf[0] == 'b'
|
||||
&& bprm->buf[1] == 'F'
|
||||
&& bprm->buf[2] == 'L'
|
||||
&& bprm->buf[3] == 'T') {
|
||||
retval = load_flt_binary(bprm, infop);
|
||||
#endif
|
||||
} else {
|
||||
return -ENOEXEC;
|
||||
}
|
||||
if (retval < 0) {
|
||||
return retval;
|
||||
}
|
||||
|
||||
return retval;
|
||||
/* Success. Initialize important registers. */
|
||||
do_init_thread(regs, infop);
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool imgsrc_read(void *dst, off_t offset, size_t len,
|
||||
|
Loading…
Reference in New Issue
Block a user