Scope: lookup_ID() and install_ID() return IntrusivePtr<ID>

This fixes several memory leaks and double free bugs.
This commit is contained in:
Max Kellermann 2020-02-26 07:58:06 +01:00
parent cbb6f09726
commit 528cf11a5c
14 changed files with 60 additions and 100 deletions

View file

@ -38,8 +38,8 @@ FuncType* EventHandler::FType(bool check_export)
if ( type )
return type;
ID* id = lookup_ID(name, current_module.c_str(), false, false,
check_export);
auto id = lookup_ID(name, current_module.c_str(), false, false,
check_export);
if ( ! id )
return 0;
@ -48,8 +48,6 @@ FuncType* EventHandler::FType(bool check_export)
return 0;
type = id->Type()->AsFuncType();
Unref(id);
return type;
}