dbghelp: Better handle very long C++ qualified identifiers in dwarf.
commit542ccaaf8459133cbb552b7e969d5e1143150eb7
authorEric Pouech <epouech@codeweavers.com>
Tue, 30 May 2023 17:03:08 +0000 (30 19:03 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Tue, 30 May 2023 18:56:31 +0000 (30 20:56 +0200)
tree7b711b307cf3bb41ff4d22d10b577e4460f85f91
parent0db9f33b7df9ea089fab8080c3a0309165c0a9a9
dbghelp: Better handle very long C++ qualified identifiers in dwarf.

This fixes some crashes especially when dealing with very long C++ names
(like template classes).

Fortunately, dwarf internals don't require type lookup by name (eg.
on forward declaration), so the impact of thrashing some names is limited.

It's very likely native doesn't store directly these very long names
(it could either store the qualified mangled name - which can be way shorter
for template classes - or use the names in lexical hierarchy: both boil down
to storing less information, and recompute it (unmangle or class hierarchy
walk) upon request).
But this would need a proper C++ support in dbghelp. Not for today.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
dlls/dbghelp/dwarf.c