#include <net/if.h>
#include <errno.h>
#include <string.h>
-#include <ctype.h>
#include <stdbool.h>
#include <netlink/genl/genl.h>
if (ies || meshid) {
tmpies = (unsigned char *) malloc(ies_len + meshid_len);
- if (!tmpies)
+ if (!tmpies) {
+ free(ies);
+ free(meshid);
goto nla_put_failure;
+ }
if (ies) {
memcpy(tmpies, ies, ies_len);
free(ies);
memcpy(&tmpies[ies_len], meshid, meshid_len);
free(meshid);
}
- NLA_PUT(msg, NL80211_ATTR_IE, ies_len + meshid_len, tmpies);
+ if (nla_put(msg, NL80211_ATTR_IE, ies_len + meshid_len, tmpies) < 0) {
+ free(tmpies);
+ goto nla_put_failure;
+ }
free(tmpies);
}
CAPA(46, "WNM-Notification");
CAPA(47, "Reserved");
CAPA(48, "UTF-8 SSID");
+ CAPA(70, "FTM Responder");
+ CAPA(71, "FTM Initiator");
default:
printf(" %d", bit);
break;
}
printf("\n");
+ if (bss[NL80211_BSS_LAST_SEEN_BOOTTIME]) {
+ unsigned long long bt;
+ bt = (unsigned long long)nla_get_u64(bss[NL80211_BSS_LAST_SEEN_BOOTTIME]);
+ printf("\tlast seen: %llu.%.3llus [boottime]\n", bt/1000000000, (bt%1000000000)/1000000);
+ }
+
if (bss[NL80211_BSS_TSF]) {
unsigned long long tsf;
tsf = (unsigned long long)nla_get_u64(bss[NL80211_BSS_TSF]);
NL80211_CMD_SCAN_ABORTED,
};
int trig_argc, dump_argc, err;
+ int i;
if (argc >= 3 && !strcmp(argv[2], "-u")) {
dump_argc = 4;
trig_argv[0] = argv[0];
trig_argv[1] = "scan";
trig_argv[2] = "trigger";
- int i;
+
for (i = 0; i < argc - 2 - (dump_argc - 3); i++)
trig_argv[i + 3] = argv[i + 2 + (dump_argc - 3)];
err = handle_cmd(state, id, trig_argc, trig_argv);