[llvm] Add llvm-extract-bundle-entry to extend llvm-objcopy (PR #169386)
David Salinas via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 9 10:30:41 PDT 2026
================
@@ -219,24 +219,38 @@ Error object::extractOffloadBundleFatBinary(
return Error::success();
}
-Error object::extractCodeObject(const ObjectFile &Source, int64_t Offset,
- int64_t Size, StringRef OutputFileName) {
+Error object::extractCodeObject(const ObjectFile &Source, size_t Offset,
+ size_t Size, StringRef OutputFileName) {
Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
FileOutputBuffer::create(OutputFileName, Size);
- if (!BufferOrErr)
- return BufferOrErr.takeError();
+ if (Error Err = BufferOrErr.takeError())
+ return Err;
Expected<MemoryBufferRef> InputBuffOrErr = Source.getMemoryBufferRef();
if (Error Err = InputBuffOrErr.takeError())
- return Err;
+ return createFileError(OutputFileName, std::move(Err));
+
+ if (Size > InputBuffOrErr->getBufferSize())
+ return createStringError("size in URI(%llu) is larger than source (%llu)",
+ Size, InputBuffOrErr->getBufferSize());
+
+ if (Offset > InputBuffOrErr->getBufferSize())
+ return createStringError(
+ "offset in URI (%llu) is beyond the size of the source (%llu)", Offset,
+ InputBuffOrErr->getBufferSize());
+
+ if (Offset + Size > InputBuffOrErr->getBufferSize())
----------------
david-salinas wrote:
yup, I can add a check for that too.
https://github.com/llvm/llvm-project/pull/169386
More information about the llvm-commits
mailing list