Lines 257-262
Link Here
|
257 |
|
257 |
|
258 |
if (!show_phdr) return NULL; |
258 |
if (!show_phdr) return NULL; |
259 |
|
259 |
|
|
|
260 |
if (file_matches_list(elf->filename, qa_execstack)) return NULL; |
261 |
|
260 |
memcpy(ret, "--- --- ---\0", 12); |
262 |
memcpy(ret, "--- --- ---\0", 12); |
261 |
|
263 |
|
262 |
shown = 0; |
264 |
shown = 0; |
Lines 274-284
Link Here
|
274 |
for (i = 0; i < EGET(ehdr->e_phnum); ++i) { \ |
276 |
for (i = 0; i < EGET(ehdr->e_phnum); ++i) { \ |
275 |
if (EGET(phdr[i].p_type) == PT_GNU_STACK) { \ |
277 |
if (EGET(phdr[i].p_type) == PT_GNU_STACK) { \ |
276 |
if (multi_stack++) warnf("%s: multiple PT_GNU_STACK's !?", elf->filename); \ |
278 |
if (multi_stack++) warnf("%s: multiple PT_GNU_STACK's !?", elf->filename); \ |
277 |
if (!file_matches_list(elf->filename, qa_execstack)) {\ |
279 |
found = found_phdr; \ |
278 |
found = found_phdr; \ |
280 |
offset = 0; \ |
279 |
offset = 0; \ |
281 |
check_flags = PF_X; \ |
280 |
check_flags = PF_X; \ |
|
|
281 |
} else continue; \ |
282 |
} else if (EGET(phdr[i].p_type) == PT_GNU_RELRO) { \ |
282 |
} else if (EGET(phdr[i].p_type) == PT_GNU_RELRO) { \ |
283 |
if (multi_relro++) warnf("%s: multiple PT_GNU_RELRO's !?", elf->filename); \ |
283 |
if (multi_relro++) warnf("%s: multiple PT_GNU_RELRO's !?", elf->filename); \ |
284 |
found = found_relro; \ |
284 |
found = found_relro; \ |