mvadkert / rpms / file

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