das-labor / panopticon

A libre cross-platform disassembler.
https://panopticon.re
GNU General Public License v3.0
1.43k stars 80 forks source link

Logic error in qt/src/sugiyama.rs:752 #168

Closed llogiq closed 8 years ago

llogiq commented 8 years ago

In the line (1,3) => a[0].1 != b[1].1 && b[0].1 == b[2].1 && a[0].1 == b[1].1,, the first and last subexpressions are a direct contradiction, the expression is thus always false (found by clippy).

Alas, I have no idea what the line means, so I submit this issue in the hope that someone who knows can fix it.

flanfly commented 8 years ago

Hey @llogiq, thanks for the bug report. The function computes the number of edge crossings between two sets of nodes in the control flow graph in order to judge whenever the layout needs to be improved. I've long suspected that there is a bug because layouts never look completely "right". Could be that you found it. I'll look into it.

llogiq commented 8 years ago

I didn't find it, clippy did :smile: