X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=elf%2Fsoname.c;h=06e56624eaccffbf30a8d928e09678127def7c13;hb=9daff10c7cf0cf1b983fca4a90065611ad0d3bf9;hp=72d465ade86ba66398fd209251b80e9ad7055151;hpb=6529b32d6c90e00f79b311239d24fd2bfdd73560;p=zpackage diff --git a/elf/soname.c b/elf/soname.c index 72d465a..06e5662 100644 --- a/elf/soname.c +++ b/elf/soname.c @@ -9,7 +9,8 @@ #include #include #include -#include + +#include "elf.h" int main(int ac, char **av) { void *elfbase; @@ -22,6 +23,11 @@ int main(int ac, char **av) { char *name, *dynname; Elf64_Dyn *dent; + if (ac < 2) { + fprintf(stderr, "usage: soname \n"); + exit(EXIT_FAILURE); + } + if (lstat(av[1], &sbuf) == -1) { exit(1); } @@ -41,7 +47,7 @@ int main(int ac, char **av) { exit(1); } /* not at least the size of the elf header? */ - if (sbuf.st_size < sizeof(Elf64_Ehdr)) { + if ((size_t)sbuf.st_size < sizeof(Elf64_Ehdr)) { exit(1); }