diff options
author | Tobias Brunner <tobias@strongswan.org> | 2012-09-28 16:03:09 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-09-28 16:28:46 +0200 |
commit | 9d5b688a11dd255f554b6821a956f87a6df1a29f (patch) | |
tree | d8aab9cdbd2c072d5f491f51b50acc2351dc683c /src/libcharon/plugins/dhcp/dhcp_socket.c | |
parent | 0031bf3eaf0cf85ab3cf385d633acb2811376682 (diff) | |
download | strongswan-9d5b688a11dd255f554b6821a956f87a6df1a29f.tar.bz2 strongswan-9d5b688a11dd255f554b6821a956f87a6df1a29f.tar.xz |
Properly initialize sockaddr_in struct in fast and dhcp plugins
Diffstat (limited to 'src/libcharon/plugins/dhcp/dhcp_socket.c')
-rw-r--r-- | src/libcharon/plugins/dhcp/dhcp_socket.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/libcharon/plugins/dhcp/dhcp_socket.c b/src/libcharon/plugins/dhcp/dhcp_socket.c index 104c71c01..f469c5a35 100644 --- a/src/libcharon/plugins/dhcp/dhcp_socket.c +++ b/src/libcharon/plugins/dhcp/dhcp_socket.c @@ -648,7 +648,13 @@ METHOD(dhcp_socket_t, destroy, void, dhcp_socket_t *dhcp_socket_create() { private_dhcp_socket_t *this; - struct sockaddr_in src; + struct sockaddr_in src = { + .sin_family = AF_INET, + .sin_port = htons(DHCP_CLIENT_PORT), + .sin_addr = { + .s_addr = INADDR_ANY, + }, + }; int on = 1; struct sock_filter dhcp_filter_code[] = { BPF_STMT(BPF_LD+BPF_B+BPF_ABS, @@ -738,9 +744,6 @@ dhcp_socket_t *dhcp_socket_create() destroy(this); return NULL; } - src.sin_family = AF_INET; - src.sin_port = htons(DHCP_CLIENT_PORT); - src.sin_addr.s_addr = INADDR_ANY; if (bind(this->send, (struct sockaddr*)&src, sizeof(src)) == -1) { DBG1(DBG_CFG, "unable to bind DHCP send socket: %s", strerror(errno)); |