diff --git a/src/p_tmt.cpp b/src/p_tmt.cpp index d5d4c6cd..b575021b 100644 --- a/src/p_tmt.cpp +++ b/src/p_tmt.cpp @@ -327,7 +327,9 @@ void PackTmt::unpack(OutputFile *fo) { Filter ft(ph.level); ft.init(ph.filter, 0); - ft.cto = (unsigned char) (ph.version < 11 ? (get_le32(obuf+ph.u_len-12) >> 24) : ph.filter_cto); + ft.cto = (unsigned char) ph.filter_cto; + if (ph.version < 11) + ft.cto = (unsigned char) (get_le32(obuf+ph.u_len-12) >> 24); ft.unfilter(obuf, ptr_diff(relocs, obuf)); } diff --git a/src/p_wcle.cpp b/src/p_wcle.cpp index 7f44eefe..b214ff31 100644 --- a/src/p_wcle.cpp +++ b/src/p_wcle.cpp @@ -823,7 +823,9 @@ void PackWcle::unpack(OutputFile *fo) Filter ft(ph.level); ft.init(ph.filter, text_vaddr); - ft.cto = (unsigned char) (ph.version < 11 ? (get_le32(oimage+ph.u_len-9) >> 24) : ph.filter_cto); + ft.cto = (unsigned char) ph.filter_cto; + if (ph.version < 11) + ft.cto = (unsigned char) (get_le32(oimage+ph.u_len-9) >> 24); ft.unfilter(oimage+text_vaddr, text_size); }