Sophie

Sophie

distrib > Fedora > 13 > x86_64 > by-pkgid > 753992651a542b0de468c3b2584455bd > files > 4

file-5.04-7.fc13.src.rpm

diff --git a/src/elfclass.h b/src/elfclass.h
index 27817d0..7f3da86 100644
--- a/src/elfclass.h
+++ b/src/elfclass.h
@@ -35,6 +35,7 @@
 	switch (type) {
 #ifdef ELFCORE
 	case ET_CORE:
+		flags |= FLAGS_IS_CORE;
 		if (dophn_core(ms, clazz, swap, fd,
 		    (off_t)elf_getu(swap, elfhdr.e_phoff),
 		    elf_getu16(swap, elfhdr.e_phnum), 
diff --git a/src/readelf.c b/src/readelf.c
index 5915569..24aa28c 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -286,6 +286,7 @@ private const char os_style_names[][8] = {
 #define FLAGS_DID_CORE		1
 #define FLAGS_DID_NOTE		2
 #define FLAGS_DID_CORE_STYLE	4
+#define FLAGS_IS_CORE		8
 
 private int
 dophn_core(struct magic_set *ms, int clazz, int swap, int fd, off_t off,
@@ -676,7 +677,7 @@ core:
 		break;
 
 	default:
-		if (xnh_type == NT_PRPSINFO) {
+		if (xnh_type == NT_PRPSINFO && *flags & FLAGS_IS_CORE) {
 			size_t i, j;
 			unsigned char c;
 			/*