[Lldb-commits] [lldb] r226088 - Fix a little thinko in r226017 - the code to actually add the demangled name to the Mangled object got
Zachary Turner
zturner at google.com
Wed Jan 14 19:40:09 PST 2015
Err, was that code wrong? I malloc it unconditionally, so it should be
freed unconditionally (don't have source in front of me, so I'm going from
memory)
On Wed, Jan 14, 2015 at 7:36 PM Jim Ingham <jingham at apple.com> wrote:
> Author: jingham
> Date: Wed Jan 14 21:34:31 2015
> New Revision: 226088
>
> URL: http://llvm.org/viewvc/llvm-project?rev=226088&view=rev
> Log:
> Fix a little thinko in r226017 - the code to actually add the demangled
> name to the Mangled object got
> moved into the #else branch of the #if/#elif/#endif, so it wasn't getting
> done in the #if case anymore.
>
> Keep the code to add the demangled name outside of the #if, and then just
> free the demangled_name
> and set it back to NULL in the Windows case.
>
> <rdar://problem/19479499>
>
> Modified:
> lldb/trunk/source/Core/Mangled.cpp
>
> Modified: lldb/trunk/source/Core/Mangled.cpp
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/
> Core/Mangled.cpp?rev=226088&r1=226087&r2=226088&view=diff
> ============================================================
> ==================
> --- lldb/trunk/source/Core/Mangled.cpp (original)
> +++ lldb/trunk/source/Core/Mangled.cpp Wed Jan 14 21:34:31 2015
> @@ -5240,18 +5240,20 @@ Mangled::GetDemangledName () const
>
> UNDNAME_NO_MEMBER_TYPE | // Strip virtual, static, etc specifiers
>
> UNDNAME_NO_MS_KEYWORDS // Strip all MS extension keywords
> );
> - if (result > 0)
> - m_demangled.SetCStringWithMangledCounterpart(demangled_name,
> m_mangled);
> - free(demangled_name);
> + if (result == 0)
> + {
> + free (demangled_name);
> + demangled_name = nullptr;
> + }
> #else
> char *demangled_name = abi::__cxa_demangle (mangled_cstr,
> NULL, NULL, NULL);
> +#endif
>
> if (demangled_name)
> {
> m_demangled.SetCStringWithMangledCounterpart(demangled_name,
> m_mangled);
> free (demangled_name);
> }
> -#endif
> }
> }
> if (!m_demangled)
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150115/3a541519/attachment.html>
More information about the lldb-commits
mailing list