Fix compilation errors in monitor.c

- Add forward declaration for verify_monitor_mode
- Initialize cb to NULL in verify_monitor_mode
- Add missing nla_put_failure label and error handling

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Robert McMahon 2026-02-13 13:49:06 -08:00
parent 680253c120
commit 5827518041
1 changed files with 12 additions and 1 deletions

View File

@ -50,6 +50,9 @@ static void nl80211_cleanup(void) {
} }
} }
// Forward declaration
static int verify_monitor_mode(const char *interface);
// Helper function to bring interface up/down using ioctl // Helper function to bring interface up/down using ioctl
static int set_interface_up(const char *interface, int up) { static int set_interface_up(const char *interface, int up) {
int sockfd; int sockfd;
@ -300,7 +303,7 @@ static int get_interface_type_cb(struct nl_msg *msg, void *arg) {
// Verify interface is in monitor mode // Verify interface is in monitor mode
static int verify_monitor_mode(const char *interface) { static int verify_monitor_mode(const char *interface) {
struct nl_msg *msg; struct nl_msg *msg;
struct nl_cb *cb; struct nl_cb *cb = NULL;
int ifindex; int ifindex;
int err = 0; int err = 0;
uint32_t iftype = 0; uint32_t iftype = 0;
@ -351,6 +354,14 @@ static int verify_monitor_mode(const char *interface) {
nl80211_cleanup(); nl80211_cleanup();
return (iftype == NL80211_IFTYPE_MONITOR) ? 0 : -1; return (iftype == NL80211_IFTYPE_MONITOR) ? 0 : -1;
nla_put_failure:
if (cb) {
nl_cb_put(cb);
}
nlmsg_free(msg);
nl80211_cleanup();
return -1;
} }
// Get current channel from interface using netlink // Get current channel from interface using netlink