diff --git a/lld/MachO/UnwindInfoSection.cpp b/lld/MachO/UnwindInfoSection.cpp index 73fb50573ce7a2..507cca0fb60118 100644 --- a/lld/MachO/UnwindInfoSection.cpp +++ b/lld/MachO/UnwindInfoSection.cpp @@ -415,7 +415,8 @@ void UnwindInfoSection::writeTo(uint8_t *buf) const { // LSDAs size_t lsdaBytes = lsdaEntries.size() * sizeof(unwind_info_section_header_lsda_index_entry); - memcpy(iep, lsdaEntries.data(), lsdaBytes); + if (lsdaBytes > 0) + memcpy(iep, lsdaEntries.data(), lsdaBytes); // Level-2 pages auto *pp = reinterpret_cast(reinterpret_cast(iep) +