#include <stdarg.h>
#include <string.h>
#include <ctype.h>
-#include <getopt.h>
#include <dirent.h>
#include <unistd.h>
#include <link.h>
if (fread(&exec, sizeof exec, 1, file) < 1)
warnx("can't read header from %s, skipping", buff);
else if (N_MAGIC(exec) != ZMAGIC
- && N_MAGIC(exec) != QMAGIC
- && N_MAGIC_SWAP(exec) != ZMAGIC
- && N_MAGIC_SWAP(exec) != QMAGIC) {
+ && N_MAGIC(exec) != QMAGIC
+ && N_MAGIC_SWAP(exec) != ZMAGIC
+ && N_MAGIC_SWAP(exec) != QMAGIC) {
elf_hdr = (ElfW(Ehdr) *) & exec;
if (elf_hdr->e_ident[0] != 0x7f ||
- strncmp(elf_hdr->e_ident+1, "ELF", 3) != 0)
+ strncmp((char *)elf_hdr->e_ident + 1, "ELF", 3) != 0)
{
/* silently ignore linker scripts */
if (strncmp((char *)&exec, "/* GNU ld", 9) != 0)
if (chroot(chroot_dir) < 0) {
if (chdir(chroot_dir) < 0)
err(EXIT_FATAL, "couldn't chroot to %s (%s)", chroot_dir, strerror(errno));
+ chroot_dir = ".";
} else {
if (chdir("/") < 0)
err(EXIT_FATAL, "couldn't chdir to / (%s)", strerror(errno));