From 198fc1c1078d32496501ebf583ed636dfe1de7fb Mon Sep 17 00:00:00 2001 From: Thorsten Zachmann Date: Fri, 13 Dec 2024 11:55:33 +0100 Subject: [PATCH] Fix bug #863 --- src/pefile.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pefile.cpp b/src/pefile.cpp index aad4b65f..b40a8e72 100644 --- a/src/pefile.cpp +++ b/src/pefile.cpp @@ -1224,6 +1224,10 @@ void PeFile::Export::convert(unsigned eoffs, unsigned esize) { size += len; iv.add_interval(edir.name, len); + if (upx_uint64_t(edir.functions + edir.names) * 4 >= upx_uint64_t(esize)) { + throwInternalError("bad export directory, outside size"); + } + len = 4 * edir.functions; functionptrs = New(char, len + 1); memcpy(functionptrs, base + edir.addrtable, len);