1772d348ea
wpa_supplicant_deinit_iface() ends up removing all P2P groups if the removed interface is the parent interface. This is correct behavior in general, but this resulted in issues in the new group interface initialization error path since wpa_s->parent was not assigned before hitting this check. Fix this by assigning wpa_s->parent as part of wpa_supplicant_add_iface(). Signed-off-by: Jouni Malinen <j@w1.fi>
40 lines
844 B
C
40 lines
844 B
C
/*
|
|
* WPA Supplicant / Example program entrypoint
|
|
* Copyright (c) 2003-2005, Jouni Malinen <j@w1.fi>
|
|
*
|
|
* This software may be distributed under the terms of the BSD license.
|
|
* See README for more details.
|
|
*/
|
|
|
|
#include "includes.h"
|
|
|
|
#include "common.h"
|
|
#include "wpa_supplicant_i.h"
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
struct wpa_interface iface;
|
|
int exitcode = 0;
|
|
struct wpa_params params;
|
|
struct wpa_global *global;
|
|
|
|
memset(¶ms, 0, sizeof(params));
|
|
params.wpa_debug_level = MSG_INFO;
|
|
|
|
global = wpa_supplicant_init(¶ms);
|
|
if (global == NULL)
|
|
return -1;
|
|
|
|
memset(&iface, 0, sizeof(iface));
|
|
/* TODO: set interface parameters */
|
|
|
|
if (wpa_supplicant_add_iface(global, &iface, NULL) == NULL)
|
|
exitcode = -1;
|
|
|
|
if (exitcode == 0)
|
|
exitcode = wpa_supplicant_run(global);
|
|
|
|
wpa_supplicant_deinit(global);
|
|
|
|
return exitcode;
|
|
}
|