From: Nathan Wagner Date: Sat, 2 Jan 2016 07:32:09 +0000 (+0000) Subject: add test for file length to soname X-Git-Tag: v0.1.6~199 X-Git-Url: https://pd.if.org/git/?p=zpackage;a=commitdiff_plain;h=6529b32d6c90e00f79b311239d24fd2bfdd73560 add test for file length to soname --- diff --git a/elf/soname.c b/elf/soname.c index aa683a5..72d465a 100644 --- a/elf/soname.c +++ b/elf/soname.c @@ -36,9 +36,14 @@ int main(int ac, char **av) { 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) {