================
@@ -53,8 +53,21 @@ template <typename A> class EHHeaderParser {
template <typename A>
bool EHHeaderParser<A>::decodeEHHdr(A &addressSpace, pint_t ehHdrStart,
- pint_t ehHdrEnd, EHHeaderInfo &ehHdrInfo) {
+ size_t ehHdrSize, EHHeaderInfo &ehHdrInfo)
{
pint_t p = ehHdrStart;
+ pint_t ehHdrEnd = ehHdrStart + ehHdrSize;
+
+ // Ensure that we don't read data beyond the end of .eh_frame_hdr
+ if (ehHdrSize < 4) {
----------------
arichardson wrote:
We could do that it just pushes the addition into the callers which currently
only have start+Len and means we have to subtract inside this function. I chose
this approach since it is a smaller diff
https://github.com/llvm/llvm-project/pull/68815
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits