diff options
author | Brad King <brad.king@kitware.com> | 2015-11-20 13:53:10 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2015-11-20 13:53:10 (GMT) |
commit | d1f4b6b501f477a0ed9af4abadc5995b835b5ba2 (patch) | |
tree | c096673f2724c54aaedbb6b57f7d3473f5223bbe | |
parent | 67248baaf98c3c8555dfa85f532c6a840eab10b6 (diff) | |
parent | f5cd92a82600067835c05c7e82726161a150a50b (diff) | |
download | CMake-d1f4b6b501f477a0ed9af4abadc5995b835b5ba2.zip CMake-d1f4b6b501f477a0ed9af4abadc5995b835b5ba2.tar.gz CMake-d1f4b6b501f477a0ed9af4abadc5995b835b5ba2.tar.bz2 |
Merge topic 'avoid-divide-by-zero'
f5cd92a8 cmELF: Avoid divide by zero if there are no dynamic section entries
-rw-r--r-- | Source/cmELF.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/cmELF.cxx b/Source/cmELF.cxx index d062987..37dd328 100644 --- a/Source/cmELF.cxx +++ b/Source/cmELF.cxx @@ -567,8 +567,14 @@ bool cmELFInternalImpl<Types>::LoadDynamicSection() return true; } - // Allocate the dynamic section entries. + // If there are no entries we are done. ELF_Shdr const& sec = this->SectionHeaders[this->DynamicSectionIndex]; + if(sec.sh_entsize == 0) + { + return false; + } + + // Allocate the dynamic section entries. int n = static_cast<int>(sec.sh_size / sec.sh_entsize); this->DynamicSectionEntries.resize(n); |