fix for ctrl interface socket setup
Submitted by: brooks
This commit is contained in:
parent
75c61a94a4
commit
b1bb8b1684
@ -10,6 +10,8 @@
|
|||||||
* license.
|
* license.
|
||||||
*
|
*
|
||||||
* See README and COPYING for more details.
|
* See README and COPYING for more details.
|
||||||
|
*
|
||||||
|
* $FreeBSD$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -88,7 +90,7 @@ struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctrl->local.sun_family = AF_UNIX;
|
ctrl->local.sun_family = AF_UNIX;
|
||||||
snprintf(ctrl->local.sun_path, sizeof(ctrl->local.sun_path),
|
snprintf(ctrl->local.sun_path, sizeof(ctrl->local.sun_path) - 1,
|
||||||
"/tmp/wpa_ctrl_%d-%d", getpid(), counter++);
|
"/tmp/wpa_ctrl_%d-%d", getpid(), counter++);
|
||||||
if (bind(ctrl->s, (struct sockaddr *) &ctrl->local,
|
if (bind(ctrl->s, (struct sockaddr *) &ctrl->local,
|
||||||
sizeof(ctrl->local.sun_family) +
|
sizeof(ctrl->local.sun_family) +
|
||||||
@ -99,10 +101,9 @@ struct wpa_ctrl * wpa_ctrl_open(const char *ctrl_path)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ctrl->dest.sun_family = AF_UNIX;
|
ctrl->dest.sun_family = AF_UNIX;
|
||||||
strncpy(ctrl->dest.sun_path, ctrl_path, sizeof(ctrl->dest.sun_path));
|
strncpy(ctrl->dest.sun_path, ctrl_path, sizeof(ctrl->dest.sun_path) - 1);
|
||||||
if (connect(ctrl->s, (struct sockaddr *) &ctrl->dest,
|
if (connect(ctrl->s, (struct sockaddr *) &ctrl->dest,
|
||||||
sizeof(ctrl->dest.sun_family) +
|
sizeof(ctrl->dest)) < 0) {
|
||||||
strlen(ctrl->dest.sun_path)) < 0) {
|
|
||||||
close(ctrl->s);
|
close(ctrl->s);
|
||||||
unlink(ctrl->local.sun_path);
|
unlink(ctrl->local.sun_path);
|
||||||
free(ctrl);
|
free(ctrl);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user