diff --git a/pkg/profile/decode.go b/pkg/profile/decode.go index 31f57716552..7b4fdf10247 100644 --- a/pkg/profile/decode.go +++ b/pkg/profile/decode.go @@ -155,20 +155,17 @@ func DecodeInto(lw LocationsWriter, data []byte, demangler Demangler) (DecodeRes name, n := decodeString(data[offset:]) offset += n - systemName, n := decodeString(data[offset:]) - offset += n + if demangler != nil { + name = []byte(demangler.Demangle(name)) + } - if demangler != nil && len(systemName) > 0 { - demangled := demangler.Demangle(systemName) - if err := lw.FunctionName.Append([]byte(demangled)); err != nil { - return DecodeResult{}, fmt.Errorf("append function name: %w", err) - } - } else { - if err := lw.FunctionName.Append(name); err != nil { - return DecodeResult{}, fmt.Errorf("append function name: %w", err) - } + if err := lw.FunctionName.Append([]byte(name)); err != nil { + return DecodeResult{}, fmt.Errorf("append function name: %w", err) } + systemName, n := decodeString(data[offset:]) + offset += n + if err := lw.FunctionSystemName.Append(systemName); err != nil { return DecodeResult{}, fmt.Errorf("append function system name: %w", err) }