usbg_function_attrs *f_attrs)
{
struct ether_addr *addr;
+ struct ether_addr addr_buf;
char str_addr[USBG_MAX_STR_LENGTH];
int ret;
if (ret != USBG_SUCCESS)
goto out;
- addr = ether_aton(str_addr);
+ addr = ether_aton_r(str_addr, &addr_buf);
if (addr) {
f_attrs->net.dev_addr = *addr;
} else {
if (ret != USBG_SUCCESS)
goto out;
- addr = ether_aton(str_addr);
+ addr = ether_aton_r(str_addr, &addr_buf);
if (addr) {
f_attrs->net.host_addr = *addr;
} else {
int usbg_set_function_net_attrs(usbg_function *f, usbg_f_net_attrs *attrs)
{
int ret = USBG_SUCCESS;
+ char addr_buf[USBG_MAX_STR_LENGTH];
char *addr;
/* ifname is read only so we accept only empty string for this param */
goto out;
}
- addr = ether_ntoa(&attrs->dev_addr);
+ addr = ether_ntoa_r(&attrs->dev_addr, addr_buf);
ret = usbg_write_string(f->path, f->name, "dev_addr", addr);
if (ret != USBG_SUCCESS)
goto out;
- addr = ether_ntoa(&attrs->host_addr);
+ addr = ether_ntoa_r(&attrs->host_addr, addr_buf);
ret = usbg_write_string(f->path, f->name, "host_addr", addr);
if (ret != USBG_SUCCESS)
goto out;
int ret = USBG_SUCCESS;
if (f && dev_addr) {
- char *str_addr = ether_ntoa(dev_addr);
+ char str_buf[USBG_MAX_STR_LENGTH];
+ char *str_addr = ether_ntoa_r(dev_addr, str_buf);
ret = usbg_write_string(f->path, f->name, "dev_addr", str_addr);
} else {
ret = USBG_ERROR_INVALID_PARAM;
int ret = USBG_SUCCESS;
if (f && host_addr) {
- char *str_addr = ether_ntoa(host_addr);
+ char str_buf[USBG_MAX_STR_LENGTH];
+ char *str_addr = ether_ntoa_r(host_addr, str_buf);
ret = usbg_write_string(f->path, f->name, "host_addr", str_addr);
} else {
ret = USBG_ERROR_INVALID_PARAM;