| 1 | /* |
1 | /* |
| 2 | * Copyright 2003-2006 Gentoo Foundation |
2 | * Copyright 2003-2006 Gentoo Foundation |
| 3 | * Distributed under the terms of the GNU General Public License v2 |
3 | * Distributed under the terms of the GNU General Public License v2 |
| 4 | * $Header: /var/cvsroot/gentoo-projects/pax-utils/scanelf.c,v 1.158 2006/08/25 06:32:08 vapier Exp $ |
4 | * $Header: /var/cvsroot/gentoo-projects/pax-utils/scanelf.c,v 1.159 2006/10/29 16:20:54 vapier Exp $ |
| 5 | * |
5 | * |
| 6 | * Copyright 2003-2006 Ned Ludd - <solar@gentoo.org> |
6 | * Copyright 2003-2006 Ned Ludd - <solar@gentoo.org> |
| 7 | * Copyright 2004-2006 Mike Frysinger - <vapier@gentoo.org> |
7 | * Copyright 2004-2006 Mike Frysinger - <vapier@gentoo.org> |
| 8 | */ |
8 | */ |
| 9 | |
9 | |
| 10 | #include "paxinc.h" |
10 | #include "paxinc.h" |
| 11 | |
11 | |
| 12 | static const char *rcsid = "$Id: scanelf.c,v 1.158 2006/08/25 06:32:08 vapier Exp $"; |
12 | static const char *rcsid = "$Id: scanelf.c,v 1.159 2006/10/29 16:20:54 vapier Exp $"; |
| 13 | #define argv0 "scanelf" |
13 | #define argv0 "scanelf" |
| 14 | |
14 | |
| 15 | #define IS_MODIFIER(c) (c == '%' || c == '#' || c == '+') |
15 | #define IS_MODIFIER(c) (c == '%' || c == '#' || c == '+') |
| 16 | |
16 | |
| 17 | #define do_state(option, flag) \ |
17 | #define do_state(option, flag) \ |
| … | |
… | |
| 832 | SHOW_BIND(32) |
832 | SHOW_BIND(32) |
| 833 | SHOW_BIND(64) |
833 | SHOW_BIND(64) |
| 834 | |
834 | |
| 835 | if (be_wewy_wewy_quiet) return NULL; |
835 | if (be_wewy_wewy_quiet) return NULL; |
| 836 | |
836 | |
|
|
837 | /* don't output anything if quiet mode and the ELF is static or not setuid */ |
| 837 | if (be_quiet && !fstat(elf->fd, &s) && !(s.st_mode & S_ISUID || s.st_mode & S_ISGID)) { |
838 | if (be_quiet && (!dynamic || (!fstat(elf->fd, &s) && !(s.st_mode & (S_ISUID|S_ISGID))))) { |
| 838 | return NULL; |
839 | return NULL; |
| 839 | } else { |
840 | } else { |
| 840 | *found_bind = 1; |
841 | *found_bind = 1; |
| 841 | return (char *) (dynamic ? "LAZY" : "STATIC"); |
842 | return (char *) (dynamic ? "LAZY" : "STATIC"); |
| 842 | } |
843 | } |