struct nl_msg *srf_attrs;
int old_argc = argc;
unsigned char mac_addr[ETH_ALEN];
- char *cur_mac, *sptr;
+ char *cur_mac, *sptr = NULL;
srf_attrs = nlmsg_alloc();
if (strcmp(argv[0], "include") == 0)
unsigned char *srf;
size_t srf_len;
__u8 bf_idx;
+ int err;
argc--;
argv++;
while (cur_mac) {
if (mac_addr_a2n(mac_addr, cur_mac)) {
printf("mac format error %s\n", cur_mac);
+ free(srf);
return -EINVAL;
}
cur_mac = strtok_r(NULL, ";", &sptr);
}
- NLA_PUT(srf_attrs, NL80211_NAN_SRF_BF, srf_len, srf);
+ err = nla_put(srf_attrs, NL80211_NAN_SRF_BF, srf_len, srf);
+ free(srf);
+ if (err)
+ goto nla_put_failure;
argv++;
argc--;
} else if (strcmp(argv[0], "list") == 0) {
static void parse_match_filter(char *filter, struct nl_msg *func_attrs, int tx)
{
struct nlattr *nl_filt;
- char *cur_filt, *sptr;
+ char *cur_filt, *sptr = NULL;
int i = 0;
if (tx)