summaryrefslogtreecommitdiff
path: root/libbacktrace/macho.c
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2020-09-08 14:50:32 -0700
committerIan Lance Taylor <iant@golang.org>2020-09-08 14:51:32 -0700
commita8a7a97b4e62195f9f538bed37177af171e75b8b (patch)
tree5ea1544121076b286e1dd1bb4f4cb46e42c634eb /libbacktrace/macho.c
parent8183ebcdc1c843f15c807e5bc26dbafe4e8c4dc3 (diff)
libbacktrace: correct memory lengths in Mach-O dsym support
* macho.c (macho_add_dsym): Make space for '/' in dsym. Use correct length when freeing diralc.
Diffstat (limited to 'libbacktrace/macho.c')
-rw-r--r--libbacktrace/macho.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libbacktrace/macho.c b/libbacktrace/macho.c
index 20dd3262d58..241d54b5e5e 100644
--- a/libbacktrace/macho.c
+++ b/libbacktrace/macho.c
@@ -903,6 +903,7 @@ macho_add_dsym (struct backtrace_state *state, const char *filename,
dsymsuffixdirlen = strlen (dsymsuffixdir);
dsymlen = (dirnamelen
+ + 1
+ basenamelen
+ dsymsuffixdirlen
+ basenamelen
@@ -925,7 +926,7 @@ macho_add_dsym (struct backtrace_state *state, const char *filename,
if (diralc != NULL)
{
- backtrace_free (state, diralc, dirnamelen, error_callback, data);
+ backtrace_free (state, diralc, dirnamelen + 1, error_callback, data);
diralc = NULL;
}