|
@@ -140,8 +140,9 @@ int loader_exec(const char * filename, char ** argv, char ** envp,
|
|
bprm->p = TARGET_PAGE_SIZE*MAX_ARG_PAGES-sizeof(unsigned int);
|
|
bprm->p = TARGET_PAGE_SIZE*MAX_ARG_PAGES-sizeof(unsigned int);
|
|
memset(bprm->page, 0, sizeof(bprm->page));
|
|
memset(bprm->page, 0, sizeof(bprm->page));
|
|
retval = open(filename, O_RDONLY);
|
|
retval = open(filename, O_RDONLY);
|
|
- if (retval < 0)
|
|
|
|
- return retval;
|
|
|
|
|
|
+ if (retval < 0) {
|
|
|
|
+ return -errno;
|
|
|
|
+ }
|
|
bprm->fd = retval;
|
|
bprm->fd = retval;
|
|
bprm->filename = (char *)filename;
|
|
bprm->filename = (char *)filename;
|
|
bprm->argc = count(argv);
|
|
bprm->argc = count(argv);
|
|
@@ -165,8 +166,7 @@ int loader_exec(const char * filename, char ** argv, char ** envp,
|
|
retval = load_flt_binary(bprm,regs,infop);
|
|
retval = load_flt_binary(bprm,regs,infop);
|
|
#endif
|
|
#endif
|
|
} else {
|
|
} else {
|
|
- fprintf(stderr, "Unknown binary format\n");
|
|
|
|
- return -1;
|
|
|
|
|
|
+ return -ENOEXEC;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|