if (fstat(elffd, &sbuf) == -1) {
exit(1);
}
+ /* not a regular file? */
if (!S_ISREG(sbuf.st_mode)) {
exit(1);
}
+ /* not at least the size of the elf header? */
+ if (sbuf.st_size < sizeof(Elf64_Ehdr)) {
+ exit(1);
+ }
elfbase = mmap(0, sbuf.st_size, PROT_READ,MAP_PRIVATE, elffd, 0);
if (!elfbase) {