From e9eb5ae3ae1eee52e88eef68a5b0ea09687db020 Mon Sep 17 00:00:00 2001 From: Pauli Nieminen Date: Mon, 9 Apr 2012 21:13:00 +0300 Subject: [PATCH] Fix debug link crc reading Debug link crc values is strored after null terminated string in 4 aligned offset. But sysprof was only taking into accoutn alignment that made elf parser read wrong crc from the debug link string. Fix is simple check for string length and adding the length to offset before alignment. Signed-off-by: Pauli Nieminen --- elfparser.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/elfparser.c b/elfparser.c index 09f08f5b..d10fce7d 100644 --- a/elfparser.c +++ b/elfparser.c @@ -744,7 +744,8 @@ elf_parser_get_debug_link (ElfParser *parser, guint32 *crc32) if (crc32) { - offset = (offset + 3) & ~0x3; + int len = strlen (result) + 1; + offset = (offset + len + 3) & ~0x3; *crc32 = GET_UINT32 (parser, offset); }