if (message) {
g_variant_get(message, "(a(oa{sv}))", &iter);
- while (g_variant_iter_loop(iter, "(oa{sv})", &key, &value)) {
+ if (g_variant_iter_loop(iter, "(oa{sv})", &key, &value))
profile = strdup(key);
- break;
- }
if (value)
g_variant_iter_free(value);
int vpn_service_init(const char* iface_name, size_t iface_name_len, int fd, vpnsvc_tun_s *handle_s)
{
struct ifreq ifr;
- size_t len = 0;
char buf[BUF_SIZE_FOR_ERR] = { 0 };
DBG("enter vpn_daemon_init, iface_name : %s, iface_name_len : %d, fd : %d\n", iface_name, iface_name_len, fd);
if (*iface_name)
strncpy(ifr.ifr_name, iface_name, iface_name_len);
+ ifr.ifr_name[iface_name_len] = '\0';
DBG("before init, ifindex : %d", ifr.ifr_ifindex);
handle_s->fd = 0; /* server fd does not meaning */
handle_s->index = get_interface_index(iface_name);
- len = strlen(ifr.ifr_name);
- strncpy(handle_s->name, ifr.ifr_name, len);
- handle_s->name[len] = '\0';
+ g_strlcpy(handle_s->name, ifr.ifr_name, VPNSVC_VPN_IFACE_NAME_LEN);
return VPNSVC_ERROR_NONE;
}