From e9eb5ae3ae1eee52e88eef68a5b0ea09687db020 Mon Sep 17 00:00:00 2001
From: Pauli Nieminen <suokkos@gmail.com>
Date: Mon, 09 Apr 2012 18:13:00 +0000
Subject: 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 <suokkos@gmail.com>
---
diff --git a/elfparser.c b/elfparser.c
index 09f08f5..d10fce7 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);
     }
--
cgit v0.9.0.2
