mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2025-12-29 18:30:08 +01:00
os: don't ignore failure from dladdr
If dladdr returns 0, don't go and use the returned Dl_info, it may
contain garbage.
X.Org bug#44315 <https://bugs.freedesktop.org/show_bug.cgi?id=44315>
Reported-and-tested-by: Cyril Brulebois <kibi@debian.org>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Julien Cristau <jcristau@debian.org>
(cherry picked from commit 6269977c91)
This commit is contained in:
parent
9a4be7e99f
commit
4a339afc58
1 changed files with 5 additions and 1 deletions
|
|
@ -44,7 +44,11 @@ void xorg_backtrace(void)
|
|||
ErrorF("\nBacktrace:\n");
|
||||
size = backtrace(array, 64);
|
||||
for (i = 0; i < size; i++) {
|
||||
dladdr(array[i], &info);
|
||||
int rc = dladdr(array[i], &info);
|
||||
if (rc == 0) {
|
||||
ErrorF("%d: ?? [%p]\n", i, array[i]);
|
||||
continue;
|
||||
}
|
||||
mod = (info.dli_fname && *info.dli_fname) ? info.dli_fname : "(vdso)";
|
||||
if (info.dli_saddr)
|
||||
ErrorF("%d: %s (%s+0x%lx) [%p]\n", i, mod,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue