ltrace: Fix a NULL string use

This case is likely to happen when mod == NULL so print it when
we are computing modname and symname

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2018-12-20 11:33:24 -08:00
parent d596859cdf
commit 79ab090e2f
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,37 @@
From 0cad025f80cf090dc16a5b70e21477f5b08a67fd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 20 Dec 2018 11:27:45 -0800
Subject: [PATCH] move fprintf into same block where modname and symname are
computed
In its current state if mod turns out to be NULL then modname and
symname will also turn out to be NULL and fprinting them as strings will
be problematic
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
output.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/output.c b/output.c
index b63befe..5aada7b 100644
--- a/output.c
+++ b/output.c
@@ -654,12 +654,11 @@ frame_callback (Dwfl_Frame *state, void *arg)
NULL, NULL, NULL);
symname = dwfl_module_addrinfo(mod, pc, &off, &sym,
NULL, NULL, NULL);
+ /* This mimics the output produced by libunwind below. */
+ fprintf(options.output, " > %s(%s+0x%" PRIx64 ") [%" PRIx64 "]\n",
+ modname, symname, off, pc);
}
- /* This mimics the output produced by libunwind below. */
- fprintf(options.output, " > %s(%s+0x%" PRIx64 ") [%" PRIx64 "]\n",
- modname, symname, off, pc);
-
/* See if we can extract the source line too and print it on
the next line if we can find it. */
if (mod != NULL) {

View File

@ -25,6 +25,7 @@ SRC_URI = "git://github.com/sparkleholic/ltrace.git;branch=master;protocol=http
file://0001-Add-support-for-mips64-n32-n64.patch \
file://0001-configure-Recognise-linux-musl-as-a-host-OS.patch \
file://0001-mips-plt.c-Delete-include-error.h.patch \
file://0001-move-fprintf-into-same-block-where-modname-and-symna.patch \
"
S = "${WORKDIR}/git"