When the EHHeaderInfo object filled by decodeEHHdr has fde_count == 0, findFDE does the following:
- sets low = 0 and len = hdrInfo.fde_count as a preparation to start a binary search
- because len is 0, the binary search loop is skipped
- the code still tries to find a table entry at hdrInfo.table + low * tableEntrySize and decode it.
This is wrong when fde_count is 0, and trying to decode a table entry that isn't there will lead to reading garbage offsets and can cause segfaults.