diff options
Diffstat (limited to 'package/wireless-tools/patches/004-increase_iwlist_buffer.patch')
-rw-r--r-- | package/wireless-tools/patches/004-increase_iwlist_buffer.patch | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/package/wireless-tools/patches/004-increase_iwlist_buffer.patch b/package/wireless-tools/patches/004-increase_iwlist_buffer.patch deleted file mode 100644 index f2fdb12..0000000 --- a/package/wireless-tools/patches/004-increase_iwlist_buffer.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/iwlist.c -+++ b/iwlist.c -@@ -792,7 +792,8 @@ print_scanning_info(int skfd, - 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 < 0xFFFF)) - { - /* Some driver may return very large scan results, either - * because there are many cells, or because they have many -@@ -808,6 +809,10 @@ print_scanning_info(int skfd, - else - buflen *= 2; - -+ /* wrq.u.data.length is 16 bits so max size is 65535 */ -+ if(buflen > 0xFFFF) -+ buflen = 0xFFFF; -+ - /* Try again */ - goto realloc; - } -@@ -2152,6 +2157,7 @@ main(int argc, - char **args; /* Command arguments */ - int count; /* Number of arguments */ - const iwlist_cmd *iwcmd; -+ int goterr = 0; - - if(argc < 2) - iw_usage(1); -@@ -2199,12 +2205,12 @@ main(int argc, - - /* do the actual work */ - if (dev) -- (*iwcmd->fn)(skfd, dev, args, count); -+ goterr = (*iwcmd->fn)(skfd, dev, args, count); - else - iw_enum_devices(skfd, iwcmd->fn, args, count); - - /* Close the socket. */ - iw_sockets_close(skfd); - -- return 0; -+ return goterr; - } |