Skip to content

Commit 5475247

Browse files
committed
[SYCL][ClangLinkerWrapper] Fix read of invalid memory
Signed-off-by: Sarnie, Nick <[email protected]>
1 parent ea03f46 commit 5475247

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,8 +1471,12 @@ Error extractBundledObjects(StringRef Filename, const ArgList &Args,
14711471
llvm::MemoryBuffer::getFileOrSTDIN(*UnbundledFile, /*isText=*/true);
14721472
if (std::error_code EC = ObjList.getError())
14731473
return createFileError(*UnbundledFile, EC);
1474-
(*ObjList)->getBuffer().split(ObjectFilePaths, '\n', /*MaxSplit=*/-1,
1475-
/*KeepEmpty=*/false);
1474+
// Create a copy of the list we can reference even after we close
1475+
// the file.
1476+
StringRef UnbundledArchiveList =
1477+
Args.MakeArgString((*ObjList)->getBuffer());
1478+
UnbundledArchiveList.split(ObjectFilePaths, '\n', /*MaxSplit=*/-1,
1479+
/*KeepEmpty=*/false);
14761480
} else {
14771481
ObjectFilePaths.push_back(*UnbundledFile);
14781482
}

0 commit comments

Comments
 (0)