3 @@ -792,7 +792,8 @@ print_scanning_info(int skfd,
4 if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0)
6 /* Check if buffer was too small (WE-17 only) */
7 - if((errno == E2BIG) && (range.we_version_compiled > 16))
8 + if((errno == E2BIG) && (range.we_version_compiled > 16)
9 + && (buflen < 0xFFFF))
11 /* Some driver may return very large scan results, either
12 * because there are many cells, or because they have many
13 @@ -808,6 +809,10 @@ print_scanning_info(int skfd,
17 + /* wrq.u.data.length is 16 bits so max size is 65535 */
24 @@ -2152,6 +2157,7 @@ main(int argc,
25 char **args; /* Command arguments */
26 int count; /* Number of arguments */
27 const iwlist_cmd *iwcmd;
32 @@ -2199,12 +2205,12 @@ main(int argc,
34 /* do the actual work */
36 - (*iwcmd->fn)(skfd, dev, args, count);
37 + goterr = (*iwcmd->fn)(skfd, dev, args, count);
39 iw_enum_devices(skfd, iwcmd->fn, args, count);
41 /* Close the socket. */
42 iw_sockets_close(skfd);