[PATCH v2 2/7] elf: Properly check buf size in get_pt_note_info()

Daniel Kiper
2013-07-16T12:32:56Z

get_pt_note_info() always ignores VMCOREINFO_XEN note because
buf size must be smaller than note size including \0 char.
Usualy this condition is true but when VMCOREINFO_XEN note
is encountered it does not work due to buf size defined
as sizeof("VMCOREINFO_XEN"). This patch fixes that bug
and VMCOREINFO_XEN note living in /proc/vmcore file
could be properly detected now.

v2 - suggestions/fixes:
- properly check buf size instead of increasing buf size
(suggested by Andrew Cooper).

Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
---
elf_info.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elf_info.c b/elf_info.c
index 0c1e36a..e350b99 100644
--- a/elf_info.c
+++ b/elf_info.c
@@ -332,7 +332,7 @@ get_pt_note_info(void)
size_desc = note_descsz(note);
offset_desc = offset + offset_note_desc(note);

- if (!size_name || size_name >= sizeof(buf))
+ if (!size_name || size_name > sizeof(buf))
goto next_note;

if (read(fd_memory, &buf, sizeof(buf)) != sizeof(buf)) {
--
1.7.10.4