LibIDL: Fix use-after-free in GenerateWindowOrWorkerInterfaces

`lexical_bases` was storing `StringView`s into `ByteString`s returned
from `LexicalPath::string()` that might no longer exist.
This commit is contained in:
Jonne Ransijn
2024-11-15 23:43:04 +01:00
committed by Andreas Kling
parent 63873f3809
commit c3783cf3bd
4 changed files with 8 additions and 9 deletions

View File

@@ -1250,7 +1250,7 @@ Interface& Parser::parse()
return interface;
}
Parser::Parser(ByteString filename, StringView contents, Vector<StringView> import_base_paths)
Parser::Parser(ByteString filename, StringView contents, Vector<ByteString> import_base_paths)
: import_base_paths(move(import_base_paths))
, filename(move(filename))
, input(contents)
@@ -1258,7 +1258,7 @@ Parser::Parser(ByteString filename, StringView contents, Vector<StringView> impo
{
}
Parser::Parser(Parser* parent, ByteString filename, StringView contents, Vector<StringView> import_base_paths)
Parser::Parser(Parser* parent, ByteString filename, StringView contents, Vector<ByteString> import_base_paths)
: import_base_paths(move(import_base_paths))
, filename(move(filename))
, input(contents)