mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-29 02:38:22 -05:00
dbus: Use strdup instead of malloc+strncpy
This commit is contained in:
parent
04551ee6d6
commit
4292b01322
@ -673,7 +673,7 @@ int wpa_dbus_method_register(struct wpa_dbus_object_desc *obj_dsc,
|
|||||||
struct wpa_dbus_method_desc *method_dsc = obj_dsc->methods;
|
struct wpa_dbus_method_desc *method_dsc = obj_dsc->methods;
|
||||||
struct wpa_dbus_method_desc *prev_desc;
|
struct wpa_dbus_method_desc *prev_desc;
|
||||||
int args_num = 0;
|
int args_num = 0;
|
||||||
int interface_len, method_len, i, len, error;
|
int i, error;
|
||||||
|
|
||||||
prev_desc = NULL;
|
prev_desc = NULL;
|
||||||
while (method_dsc) {
|
while (method_dsc) {
|
||||||
@ -698,38 +698,30 @@ int wpa_dbus_method_register(struct wpa_dbus_object_desc *obj_dsc,
|
|||||||
prev_desc->next = method_dsc;
|
prev_desc->next = method_dsc;
|
||||||
|
|
||||||
/* copy interface name */
|
/* copy interface name */
|
||||||
interface_len = os_strlen(dbus_interface) + 1;
|
method_dsc->dbus_interface = os_strdup(dbus_interface);
|
||||||
method_dsc->dbus_interface = os_malloc(interface_len);
|
|
||||||
if (!method_dsc->dbus_interface)
|
if (!method_dsc->dbus_interface)
|
||||||
goto err;
|
goto err;
|
||||||
os_strncpy(method_dsc->dbus_interface, dbus_interface, interface_len);
|
|
||||||
|
|
||||||
/* copy method name */
|
/* copy method name */
|
||||||
method_len = os_strlen(dbus_method) + 1;
|
method_dsc->dbus_method = os_strdup(dbus_method);
|
||||||
method_dsc->dbus_method = os_malloc(method_len);
|
|
||||||
if (!method_dsc->dbus_method)
|
if (!method_dsc->dbus_method)
|
||||||
goto err;
|
goto err;
|
||||||
os_strncpy(method_dsc->dbus_method, dbus_method, method_len);
|
|
||||||
|
|
||||||
/* copy arguments */
|
/* copy arguments */
|
||||||
error = 0;
|
error = 0;
|
||||||
method_dsc->args_num = args_num;
|
method_dsc->args_num = args_num;
|
||||||
for (i = 0; i < args_num; i++) {
|
for (i = 0; i < args_num; i++) {
|
||||||
len = os_strlen(args[i].name) + 1;
|
method_dsc->args[i].name = os_strdup(args[i].name);
|
||||||
method_dsc->args[i].name = os_malloc(len);
|
|
||||||
if (!method_dsc->args[i].name) {
|
if (!method_dsc->args[i].name) {
|
||||||
error = 1;
|
error = 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
os_strncpy(method_dsc->args[i].name, args[i].name, len);
|
|
||||||
|
|
||||||
len = os_strlen(args[i].type) + 1;
|
method_dsc->args[i].type = os_strdup(args[i].type);
|
||||||
method_dsc->args[i].type = os_malloc(len);
|
|
||||||
if (!method_dsc->args[i].type) {
|
if (!method_dsc->args[i].type) {
|
||||||
error = 1;
|
error = 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
os_strncpy(method_dsc->args[i].type, args[i].type, len);
|
|
||||||
|
|
||||||
method_dsc->args[i].dir = args[i].dir;
|
method_dsc->args[i].dir = args[i].dir;
|
||||||
}
|
}
|
||||||
@ -787,7 +779,7 @@ int wpa_dbus_signal_register(struct wpa_dbus_object_desc *obj_dsc,
|
|||||||
struct wpa_dbus_signal_desc *signal_dsc = obj_dsc->signals;
|
struct wpa_dbus_signal_desc *signal_dsc = obj_dsc->signals;
|
||||||
struct wpa_dbus_signal_desc *prev_desc;
|
struct wpa_dbus_signal_desc *prev_desc;
|
||||||
int args_num = 0;
|
int args_num = 0;
|
||||||
int interface_len, signal_len, i, len, error = 0;
|
int i, error = 0;
|
||||||
|
|
||||||
prev_desc = NULL;
|
prev_desc = NULL;
|
||||||
while (signal_dsc) {
|
while (signal_dsc) {
|
||||||
@ -812,37 +804,29 @@ int wpa_dbus_signal_register(struct wpa_dbus_object_desc *obj_dsc,
|
|||||||
prev_desc->next = signal_dsc;
|
prev_desc->next = signal_dsc;
|
||||||
|
|
||||||
/* copy interface name */
|
/* copy interface name */
|
||||||
interface_len = strlen(dbus_interface) + 1;
|
signal_dsc->dbus_interface = os_strdup(dbus_interface);
|
||||||
signal_dsc->dbus_interface = os_malloc(interface_len);
|
|
||||||
if (!signal_dsc->dbus_interface)
|
if (!signal_dsc->dbus_interface)
|
||||||
goto err;
|
goto err;
|
||||||
os_strncpy(signal_dsc->dbus_interface, dbus_interface, interface_len);
|
|
||||||
|
|
||||||
/* copy signal name */
|
/* copy signal name */
|
||||||
signal_len = strlen(dbus_signal) + 1;
|
signal_dsc->dbus_signal = os_strdup(dbus_signal);
|
||||||
signal_dsc->dbus_signal = os_malloc(signal_len);
|
|
||||||
if (!signal_dsc->dbus_signal)
|
if (!signal_dsc->dbus_signal)
|
||||||
goto err;
|
goto err;
|
||||||
os_strncpy(signal_dsc->dbus_signal, dbus_signal, signal_len);
|
|
||||||
|
|
||||||
/* copy arguments */
|
/* copy arguments */
|
||||||
signal_dsc->args_num = args_num;
|
signal_dsc->args_num = args_num;
|
||||||
for (i = 0; i < args_num; i++) {
|
for (i = 0; i < args_num; i++) {
|
||||||
len = os_strlen(args[i].name) + 1;
|
signal_dsc->args[i].name = os_strdup(args[i].name);
|
||||||
signal_dsc->args[i].name = os_malloc(len);
|
|
||||||
if (!signal_dsc->args[i].name) {
|
if (!signal_dsc->args[i].name) {
|
||||||
error = 1;
|
error = 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
os_strncpy(signal_dsc->args[i].name, args[i].name, len);
|
|
||||||
|
|
||||||
len = strlen(args[i].type) + 1;
|
signal_dsc->args[i].type = os_strdup(args[i].type);
|
||||||
signal_dsc->args[i].type = os_malloc(len);
|
|
||||||
if (!signal_dsc->args[i].type) {
|
if (!signal_dsc->args[i].type) {
|
||||||
error = 1;
|
error = 1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
os_strncpy(signal_dsc->args[i].type, args[i].type, len);
|
|
||||||
}
|
}
|
||||||
if (error)
|
if (error)
|
||||||
goto err;
|
goto err;
|
||||||
@ -901,7 +885,6 @@ int wpa_dbus_property_register(struct wpa_dbus_object_desc *obj_dsc,
|
|||||||
{
|
{
|
||||||
struct wpa_dbus_property_desc *property_dsc = obj_dsc->properties;
|
struct wpa_dbus_property_desc *property_dsc = obj_dsc->properties;
|
||||||
struct wpa_dbus_property_desc *prev_desc;
|
struct wpa_dbus_property_desc *prev_desc;
|
||||||
int interface_len, property_len, type_len;
|
|
||||||
|
|
||||||
prev_desc = NULL;
|
prev_desc = NULL;
|
||||||
while (property_dsc) {
|
while (property_dsc) {
|
||||||
@ -919,26 +902,19 @@ int wpa_dbus_property_register(struct wpa_dbus_object_desc *obj_dsc,
|
|||||||
prev_desc->next = property_dsc;
|
prev_desc->next = property_dsc;
|
||||||
|
|
||||||
/* copy interface name */
|
/* copy interface name */
|
||||||
interface_len = os_strlen(dbus_interface) + 1;
|
property_dsc->dbus_interface = os_strdup(dbus_interface);
|
||||||
property_dsc->dbus_interface = os_malloc(interface_len);
|
|
||||||
if (!property_dsc->dbus_interface)
|
if (!property_dsc->dbus_interface)
|
||||||
goto err;
|
goto err;
|
||||||
os_strncpy(property_dsc->dbus_interface, dbus_interface,
|
|
||||||
interface_len);
|
|
||||||
|
|
||||||
/* copy property name */
|
/* copy property name */
|
||||||
property_len = os_strlen(dbus_property) + 1;
|
property_dsc->dbus_property = os_strdup(dbus_property);
|
||||||
property_dsc->dbus_property = os_malloc(property_len);
|
|
||||||
if (!property_dsc->dbus_property)
|
if (!property_dsc->dbus_property)
|
||||||
goto err;
|
goto err;
|
||||||
os_strncpy(property_dsc->dbus_property, dbus_property, property_len);
|
|
||||||
|
|
||||||
/* copy property type */
|
/* copy property type */
|
||||||
type_len = os_strlen(type) + 1;
|
property_dsc->type = os_strdup(type);
|
||||||
property_dsc->type = os_malloc(type_len);
|
|
||||||
if (!property_dsc->type)
|
if (!property_dsc->type)
|
||||||
goto err;
|
goto err;
|
||||||
os_strncpy(property_dsc->type, type, type_len);
|
|
||||||
|
|
||||||
property_dsc->getter = getter;
|
property_dsc->getter = getter;
|
||||||
property_dsc->setter = setter;
|
property_dsc->setter = setter;
|
||||||
|
@ -46,7 +46,6 @@ static struct interfaces * extract_interfaces(
|
|||||||
struct wpa_dbus_property_desc *property_dsc = obj_dsc->properties;
|
struct wpa_dbus_property_desc *property_dsc = obj_dsc->properties;
|
||||||
struct interfaces *head = NULL;
|
struct interfaces *head = NULL;
|
||||||
struct interfaces *iface, *last;
|
struct interfaces *iface, *last;
|
||||||
int len;
|
|
||||||
|
|
||||||
/* extract interfaces from methods */
|
/* extract interfaces from methods */
|
||||||
while (method_dsc) {
|
while (method_dsc) {
|
||||||
@ -79,8 +78,7 @@ static struct interfaces * extract_interfaces(
|
|||||||
else
|
else
|
||||||
head = iface;
|
head = iface;
|
||||||
|
|
||||||
len = os_strlen(method_dsc->dbus_interface) + 1;
|
iface->dbus_interface = os_strdup(method_dsc->dbus_interface);
|
||||||
iface->dbus_interface = os_malloc(len);
|
|
||||||
if (!iface->dbus_interface) {
|
if (!iface->dbus_interface) {
|
||||||
wpa_printf(MSG_ERROR, "Not enough memory to create "
|
wpa_printf(MSG_ERROR, "Not enough memory to create "
|
||||||
"interface introspection data (interface "
|
"interface introspection data (interface "
|
||||||
@ -88,8 +86,6 @@ static struct interfaces * extract_interfaces(
|
|||||||
method_dsc = method_dsc->next;
|
method_dsc = method_dsc->next;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
os_strncpy(iface->dbus_interface, method_dsc->dbus_interface,
|
|
||||||
len);
|
|
||||||
|
|
||||||
iface->interface_node = xmlNewChild(root_node, NULL,
|
iface->interface_node = xmlNewChild(root_node, NULL,
|
||||||
BAD_CAST "interface",
|
BAD_CAST "interface",
|
||||||
@ -131,8 +127,7 @@ static struct interfaces * extract_interfaces(
|
|||||||
else
|
else
|
||||||
head = iface;
|
head = iface;
|
||||||
|
|
||||||
len = os_strlen(signal_dsc->dbus_interface) + 1;
|
iface->dbus_interface = os_strdup(signal_dsc->dbus_interface);
|
||||||
iface->dbus_interface = os_malloc(len);
|
|
||||||
if (!iface->dbus_interface) {
|
if (!iface->dbus_interface) {
|
||||||
wpa_printf(MSG_ERROR, "Not enough memory to create "
|
wpa_printf(MSG_ERROR, "Not enough memory to create "
|
||||||
"interface introspection data (interface "
|
"interface introspection data (interface "
|
||||||
@ -140,8 +135,6 @@ static struct interfaces * extract_interfaces(
|
|||||||
signal_dsc = signal_dsc->next;
|
signal_dsc = signal_dsc->next;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
os_strncpy(iface->dbus_interface, signal_dsc->dbus_interface,
|
|
||||||
len);
|
|
||||||
|
|
||||||
iface->interface_node = xmlNewChild(root_node, NULL,
|
iface->interface_node = xmlNewChild(root_node, NULL,
|
||||||
BAD_CAST "interface",
|
BAD_CAST "interface",
|
||||||
@ -183,8 +176,8 @@ static struct interfaces * extract_interfaces(
|
|||||||
else
|
else
|
||||||
head = iface;
|
head = iface;
|
||||||
|
|
||||||
len = os_strlen(property_dsc->dbus_interface) + 1;
|
iface->dbus_interface =
|
||||||
iface->dbus_interface = os_malloc(len);
|
os_strdup(property_dsc->dbus_interface);
|
||||||
if (!iface->dbus_interface) {
|
if (!iface->dbus_interface) {
|
||||||
wpa_printf(MSG_ERROR, "Not enough memory to create "
|
wpa_printf(MSG_ERROR, "Not enough memory to create "
|
||||||
"interface introspection data (interface "
|
"interface introspection data (interface "
|
||||||
@ -192,8 +185,6 @@ static struct interfaces * extract_interfaces(
|
|||||||
property_dsc = property_dsc->next;
|
property_dsc = property_dsc->next;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
os_strncpy(iface->dbus_interface, property_dsc->dbus_interface,
|
|
||||||
len);
|
|
||||||
|
|
||||||
iface->interface_node = xmlNewChild(root_node, NULL,
|
iface->interface_node = xmlNewChild(root_node, NULL,
|
||||||
BAD_CAST "interface",
|
BAD_CAST "interface",
|
||||||
|
Loading…
Reference in New Issue
Block a user