diff options
author | NeilBrown <neilb@suse.de> | 2010-11-22 19:35:25 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-11-22 19:35:25 +1100 |
commit | 37194990aae3dfdbaae55fb9d2ab491683ade7e1 (patch) | |
tree | 4f76314addec95d3e13683539d13201b98e3cf7e /policy.c | |
parent | 1e2b276535cea41c348292a019bdda8a58cb1679 (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.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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; |