summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon Tetlow <gordon@FreeBSD.org>2019-08-06 17:08:30 +0000
committerGordon Tetlow <gordon@FreeBSD.org>2019-08-06 17:08:30 +0000
commitca6c6484f829c029ab9e203cd580e1d01c3fadc8 (patch)
treeb7f62158b6afedd78a1f21981459141fad0cbe9d
parent0a6e9b50e8a4fecf60a9290ac99fa2ee360d8994 (diff)
downloadsrc-test2-ca6c6484f829c029ab9e203cd580e1d01c3fadc8.tar.gz
src-test2-ca6c6484f829c029ab9e203cd580e1d01c3fadc8.zip
Fix incorrect exception handling.
Approved by: so Security: FreeBSD-EN-19:15.libunwind
Notes
Notes: svn path=/releng/12.0/; revision=350642
-rw-r--r--contrib/llvm/projects/libunwind/src/EHHeaderParser.hpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/contrib/llvm/projects/libunwind/src/EHHeaderParser.hpp b/contrib/llvm/projects/libunwind/src/EHHeaderParser.hpp
index 6c3ccc863172..59ebfe3565b9 100644
--- a/contrib/llvm/projects/libunwind/src/EHHeaderParser.hpp
+++ b/contrib/llvm/projects/libunwind/src/EHHeaderParser.hpp
@@ -68,7 +68,9 @@ void EHHeaderParser<A>::decodeEHHdr(A &addressSpace, pint_t ehHdrStart,
ehHdrInfo.eh_frame_ptr =
addressSpace.getEncodedP(p, ehHdrEnd, eh_frame_ptr_enc, ehHdrStart);
ehHdrInfo.fde_count =
- addressSpace.getEncodedP(p, ehHdrEnd, fde_count_enc, ehHdrStart);
+ fde_count_enc == DW_EH_PE_omit
+ ? 0
+ : addressSpace.getEncodedP(p, ehHdrEnd, fde_count_enc, ehHdrStart);
ehHdrInfo.table = p;
}