Ghidra: Incorrect root namespaces on demangled methods

Created on 17 Mar 2020  路  2Comments  路  Source: NationalSecurityAgency/ghidra

Describe the bug
Some demangled methods have the wrong root namespace. This is most notable on overloaded operators.

To Reproduce
Steps to reproduce the behavior:

  1. Demangle _ZNSolsEPFRSoS_E
  2. See result of >::operator<<(std--basic_ostream<char,std--char_traits<char>>&(*)(std::basic_ostream<char,std::char_traits<char> &)

Expected behavior
_ZNSolsEPFRSoS_E should be demangled to std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))

Environment (please complete the following information):

  • OS: Microsoft Windows [Version 10.0.18363.720]
  • Java Version: 13.0.2
  • Ghidra Version: 9.2

Additional context
@dragonmacher I know a lot of work was recently done in the ghidra.app.util.demangler package, just making a note of this.

Demangler Bug

All 2 comments

I will investigate.

Fixed in c1a148298862e3ae2fa418149423ba26311dd11c

Was this page helpful?
0 / 5 - 0 ratings

Related issues

astrelsky picture astrelsky  路  3Comments

forkoz picture forkoz  路  3Comments

tambry picture tambry  路  3Comments

astrelsky picture astrelsky  路  3Comments

pd0wm picture pd0wm  路  3Comments