From 791fe7ac57a9b660554219a99d63e07abfaa0982 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sun, 20 Dec 2020 20:01:20 -0800 Subject: [PATCH] [lld-macho] Fix memcpy ub after D93267 --- lld/MachO/UnwindInfoSection.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lld/MachO/UnwindInfoSection.cpp b/lld/MachO/UnwindInfoSection.cpp index acb4a9d..b4c3a31 100644 --- a/lld/MachO/UnwindInfoSection.cpp +++ b/lld/MachO/UnwindInfoSection.cpp @@ -318,8 +318,9 @@ void UnwindInfoSection::writeTo(uint8_t *buf) const { *ep++ = (it->second << COMPRESSED_ENTRY_FUNC_OFFSET_BITS) | (cuep->functionAddress - functionAddressBase); } - memcpy(ep, page.localEncodings.data(), - page.localEncodings.size() * sizeof(uint32_t)); + if (page.localEncodings.size() != 0) + memcpy(ep, page.localEncodings.data(), + page.localEncodings.size() * sizeof(uint32_t)); } else { auto *p2p = reinterpret_cast(pp); -- 2.7.4