Skip to content

Commit baa9022

Browse files
authored
prevents knowledge conflicts on mangled names (#1535)
This change prevents knowledge base conflicts that happen when we apply name mangling on subroutines.
1 parent 46c93ca commit baa9022

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

lib/bap_types/bap_ir.ml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,11 +314,15 @@ end = struct
314314
Bap_bitvector.string_of_value ~hex:true a
315315
| None -> sprintf "%s%%%s" name (Tid.to_string tid)
316316

317+
let set_name_if_possible tid name =
318+
try Tid.set_name tid name
319+
with _ -> Tid.add_name tid name
320+
321+
317322
let mangle_sub s =
318323
let addr = Dict.find s.dict Bap_attributes.address in
319324
let name = mangle_name addr s.tid s.self.name in
320-
Tid.add_name s.tid s.self.name;
321-
Tid.set_name s.tid name;
325+
set_name_if_possible s.tid name;
322326
let self = {s.self with name} in
323327
{s with self}
324328

0 commit comments

Comments
 (0)