ports/security/wpa_supplicant/files/patch-src_drivers_driver__ndis.c
John Marino ae5f2c59ae security/wpa_supplicant: Fix NDIS driver, privsep no longer default
The NDIS driver didn't build when privsep option was turned off.  Moveover,
it didn't display the driver name correctly, so I figured out a patch
based on base's ndis driver code.  Thirdly, when privsep option is turned
off, wpa_priv is not built, so let's handle that condition.

Finally, remove privsep from default options because it removes the
standard list of drivers and replaces it with privsep driver.
2014-10-13 09:33:07 +00:00

28 lines
851 B
C

--- src/drivers/driver_ndis.c.orig 2014-10-09 14:41:31 UTC
+++ src/drivers/driver_ndis.c
@@ -2110,7 +2110,11 @@ static int wpa_driver_ndis_get_names(str
dlen = dpos - desc;
else
dlen = os_strlen(desc);
- drv->adapter_desc = dup_binstr(desc, dlen);
+ drv->adapter_desc = os_malloc(dlen + 1);
+ if (drv->adapter_desc) {
+ os_memcpy(drv->adapter_desc, desc, dlen);
+ drv->adapter_desc[dlen] = '\0';
+ }
os_free(b);
if (drv->adapter_desc == NULL)
return -1;
@@ -2278,7 +2282,11 @@ static int wpa_driver_ndis_get_names(str
} else {
dlen = os_strlen(desc[i]);
}
- drv->adapter_desc = dup_binstr(desc[i], dlen);
+ drv->adapter_desc = os_malloc(dlen + 1);
+ if (drv->adapter_desc) {
+ os_memcpy(drv->adapter_desc, desc[i], dlen);
+ drv->adapter_desc[dlen] = '\0';
+ }
os_free(names);
if (drv->adapter_desc == NULL)
return -1;