Commit dac322e3 authored by Pavel Roskin's avatar Pavel Roskin Committed by John W. Linville

[PATCH] Fix crash on big-endian systems during scan

The original code was doing arithmetics on a little-endian value.
Reported by Stelios Koroneos <stelios@stelioscellar.com>
Signed-off-by: default avatarPavel Roskin <proski@gnu.org>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 6b426e78
...@@ -1860,7 +1860,7 @@ static char * __prism2_translate_scan(local_info_t *local, ...@@ -1860,7 +1860,7 @@ static char * __prism2_translate_scan(local_info_t *local,
memset(&iwe, 0, sizeof(iwe)); memset(&iwe, 0, sizeof(iwe));
iwe.cmd = SIOCGIWFREQ; iwe.cmd = SIOCGIWFREQ;
if (scan) { if (scan) {
chan = scan->chid; chan = le16_to_cpu(scan->chid);
} else if (bss) { } else if (bss) {
chan = bss->chan; chan = bss->chan;
} else { } else {
...@@ -1868,7 +1868,7 @@ static char * __prism2_translate_scan(local_info_t *local, ...@@ -1868,7 +1868,7 @@ static char * __prism2_translate_scan(local_info_t *local,
} }
if (chan > 0) { if (chan > 0) {
iwe.u.freq.m = freq_list[le16_to_cpu(chan - 1)] * 100000; iwe.u.freq.m = freq_list[chan - 1] * 100000;
iwe.u.freq.e = 1; iwe.u.freq.e = 1;
current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe, current_ev = iwe_stream_add_event(current_ev, end_buf, &iwe,
IW_EV_FREQ_LEN); IW_EV_FREQ_LEN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment