aboutsummaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-08-17 23:44:43 +0000
committerMike Frysinger <vapier@gentoo.org>2007-08-17 23:44:43 +0000
commitebb4bc661478f86485748ba693496d4d6cdf602b (patch)
treec8ac5ef3b049152e5004e47e1ed115f3a22a3837 /TODO
parentFor Solaris, use -f instead of -e to avoid "/bin/sh: test: argument (diff)
downloadpax-utils-ebb4bc661478f86485748ba693496d4d6cdf602b.tar.gz
pax-utils-ebb4bc661478f86485748ba693496d4d6cdf602b.tar.bz2
pax-utils-ebb4bc661478f86485748ba693496d4d6cdf602b.zip
add some more notes on fugly corner cases
Diffstat (limited to 'TODO')
-rw-r--r--TODO10
1 files changed, 10 insertions, 0 deletions
diff --git a/TODO b/TODO
index d0787e1..fc975d4 100644
--- a/TODO
+++ b/TODO
@@ -7,6 +7,8 @@ due to:
rel = REL ## B (elf->data + EGET(shdr[s].sh_offset)); \
rela = RELA ## B (elf->data + EGET(shdr[s].sh_offset)); \
sym = SYM ## B (elf->data + EGET(symtab->sh_offset)); \
+perhaps we need to just force the alignment of the data member in the struct to
+the size of something large ? or just ignore the warning ...
pspax -u 0
errno = 0; uid = strtol(optarg, NULL, 10); if (uid == 0 && errno != 0) error("invalid value");
@@ -18,3 +20,11 @@ care though ? this would be an issue if:
- host is 32bit
- object being analyzed is 64bit
- object has symbols which is larger than 32bits
+
+scanelf does not check offsets of DT's when scanning PT_DYNAMIC ... if a bogus
+ELF had a PHDR of type PT_DYNAMIC which claimed to be of size say 1 and had an
+offset just shy of the end of the file, we'll probably crash ...
+
+dumpelf does not do string checking in very very verbose mode. it assumes the
+strings are sane when dumping the sections. only way around this is to check
+everything single byte and print it out a character at a time ... sucks ...