diff options
-rw-r--r-- | scripts/paxmodule.c | 18 | ||||
-rwxr-xr-x | scripts/revdep-pax | 2 |
2 files changed, 18 insertions, 2 deletions
diff --git a/scripts/paxmodule.c b/scripts/paxmodule.c index 32c8768..45e9f26 100644 --- a/scripts/paxmodule.c +++ b/scripts/paxmodule.c @@ -9,6 +9,7 @@ #include <fcntl.h> #include <unistd.h> +/* Gentoo bug #387459 #define HF_PAX_PAGEEXEC 1 #define HF_PAX_EMUTRAMP 2 @@ -18,6 +19,7 @@ #define HF_PAX_SEGMEXEC 32 #define EI_PAX 14 // Index to read the PaX flags into ELF header e_ident[] array +*/ #define BUF_SIZE 7 //Buffer for holding human readable flags @@ -58,7 +60,9 @@ pax_getflags(PyObject *self, PyObject *args) char pax_buf[BUF_SIZE]; uint16_t pax_flags; - GElf_Ehdr ehdr; + /* Gentoo bug #387459 + GElf_Ehdr ehdr; + */ GElf_Phdr phdr; char found_pt_pax; size_t i, phnum; @@ -140,6 +144,12 @@ pax_getflags(PyObject *self, PyObject *args) if(!found_pt_pax) { + //Set to the strictest possible + } + + /* Gentoo bug #387459 + if(!found_pt_pax) + { if(gelf_getehdr(elf, &ehdr) != &ehdr) { elf_end(elf); @@ -157,6 +167,7 @@ pax_getflags(PyObject *self, PyObject *args) pax_buf[4] = pax_flags & HF_PAX_RANDMMAP ? 'r' : 'R'; pax_buf[5] = pax_flags & HF_PAX_RANDEXEC ? 'X' : 'x'; } + */ elf_end(elf); close(fd); @@ -174,8 +185,10 @@ pax_setflags(PyObject *self, PyObject *args) Elf *elf; + /* Gentoo bug #387459 GElf_Ehdr ehdr; uint16_t ei_flags; + */ GElf_Phdr phdr; size_t i, phnum; @@ -213,6 +226,8 @@ pax_setflags(PyObject *self, PyObject *args) return NULL; } + /* Gentoo bug #387459 + if(gelf_getehdr(elf, &ehdr) != &ehdr) { elf_end(elf); @@ -276,6 +291,7 @@ pax_setflags(PyObject *self, PyObject *args) PyErr_SetString(PaxError, "pax_setflags: gelf_update_ehdr() failed"); return NULL; } + */ elf_getphdrnum(elf, &phnum); diff --git a/scripts/revdep-pax b/scripts/revdep-pax index a5636bd..59b8b4e 100755 --- a/scripts/revdep-pax +++ b/scripts/revdep-pax @@ -314,7 +314,7 @@ def run_soname(name, verbose, use_soname, mark): except: print 'cannot obtain pax flags for %s' % binary - if len(mismatched_binaries) == 0 + if len(mismatched_binaries) == 0: print print '\tNo mismatches' print |