summaryrefslogtreecommitdiff
path: root/policy.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-11-22 19:35:25 +1100
committerNeilBrown <neilb@suse.de>2010-11-22 19:35:25 +1100
commit37194990aae3dfdbaae55fb9d2ab491683ade7e1 (patch)
tree4f76314addec95d3e13683539d13201b98e3cf7e /policy.c
parent1e2b276535cea41c348292a019bdda8a58cb1679 (diff)
Fix error in pol_sort.
pol_sort could go into an infinite loop. The proof of this patch is left as a exercise for the reader :-) Reported-by: "Hawrylewicz Czarnowski, Przemyslaw" <przemyslaw.hawrylewicz.czarnowski@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'policy.c')
-rw-r--r--policy.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/policy.c b/policy.c
index 945d37ff..5f180340 100644
--- a/policy.c
+++ b/policy.c
@@ -137,8 +137,8 @@ static void pol_sort(struct dev_policy **pol)
if (p[next] == NULL ||
(p[1-next] != NULL &&
!(pol_lesseq(prev, p[1-next])
- ^pol_lesseq(p[1-next], p[next])
- ^pol_lesseq(p[next], prev)))
+ ^pol_lesseq(prev, p[next])
+ ^pol_lesseq(p[next], p[1-next])))
)
next = 1 - next;