29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
|
From 56dfb1d6422cb0b687751b79528e56b6f9e3dfe6 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
|
||
|
Date: Wed, 9 Oct 2024 15:29:59 +0200
|
||
|
Subject: [PATCH 02/18] libsysprof: elf: do not allow setting self as debug
|
||
|
link
|
||
|
|
||
|
That will cause infinite recursion in `sysprof_elf_get_symbol_at_address_internal()`.
|
||
|
Also note that loops are still possible, this change
|
||
|
only prevents one way of creating loops.
|
||
|
---
|
||
|
src/libsysprof/sysprof-elf.c | 1 +
|
||
|
1 file changed, 1 insertion(+)
|
||
|
|
||
|
diff --git a/src/libsysprof/sysprof-elf.c b/src/libsysprof/sysprof-elf.c
|
||
|
index f4e5f914..0534eccb 100644
|
||
|
--- a/src/libsysprof/sysprof-elf.c
|
||
|
+++ b/src/libsysprof/sysprof-elf.c
|
||
|
@@ -502,6 +502,7 @@ sysprof_elf_set_debug_link_elf (SysprofElf *self,
|
||
|
{
|
||
|
g_return_if_fail (SYSPROF_IS_ELF (self));
|
||
|
g_return_if_fail (!debug_link_elf || SYSPROF_IS_ELF (debug_link_elf));
|
||
|
+ g_return_if_fail (debug_link_elf != self);
|
||
|
|
||
|
if (g_set_object (&self->debug_link_elf, debug_link_elf))
|
||
|
g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_DEBUG_LINK_ELF]);
|
||
|
--
|
||
|
2.45.2
|
||
|
|