33 lines
1.2 KiB
Diff
33 lines
1.2 KiB
Diff
|
Submitted By: Munir Contractor <munircontractor at gmail dot com>
|
||
|
Date: 2016-09-03
|
||
|
Initial Package Version: 29
|
||
|
Upstream Status: From Upstream
|
||
|
Origin: Arch Linux https://bugs.archlinux.org/task/15363
|
||
|
Description: This patch fixes an issue where iwlist scan is not able to print the
|
||
|
wireless network names if there are too many networks due to buffer
|
||
|
allocation exceeding 65536.
|
||
|
|
||
|
|
||
|
diff -Naur wireless_tools.29.orig/iwlist.c wireless_tools.29/iwlist.c
|
||
|
--- wireless_tools.29.orig/iwlist.c 2007-06-30 01:11:09.000000000 +0000
|
||
|
+++ wireless_tools.29/iwlist.c 2016-09-03 17:51:56.703353035 +0000
|
||
|
@@ -799,7 +799,7 @@
|
||
|
if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0)
|
||
|
{
|
||
|
/* Check if buffer was too small (WE-17 only) */
|
||
|
- if((errno == E2BIG) && (range.we_version_compiled > 16))
|
||
|
+ if((errno == E2BIG) && (range.we_version_compiled > 16) && (buflen < 65535))
|
||
|
{
|
||
|
/* Some driver may return very large scan results, either
|
||
|
* because there are many cells, or because they have many
|
||
|
@@ -815,6 +815,9 @@
|
||
|
else
|
||
|
buflen *= 2;
|
||
|
|
||
|
+ if(buflen > 65535)
|
||
|
+ buflen = 65535;
|
||
|
+
|
||
|
/* Try again */
|
||
|
goto realloc;
|
||
|
}
|