From 030bd0a7099026833e437280915f1248395e7d0f Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 8 Sep 2020 14:50:32 -0700 Subject: [PATCH] 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. Close #40 --- macho.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/macho.c b/macho.c index 20dd326..241d54b 100644 --- a/macho.c +++ b/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; }