Properly initialize sockaddr_in struct in fast and dhcp plugins

This commit is contained in:
Tobias Brunner
2012-09-28 16:28:46 +02:00
parent 0031bf3eaf
commit 9d5b688a11
2 changed files with 14 additions and 8 deletions
+7 -4
View File
@@ -648,7 +648,13 @@ METHOD(dhcp_socket_t, destroy, void,
dhcp_socket_t *dhcp_socket_create() dhcp_socket_t *dhcp_socket_create()
{ {
private_dhcp_socket_t *this; 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; int on = 1;
struct sock_filter dhcp_filter_code[] = { struct sock_filter dhcp_filter_code[] = {
BPF_STMT(BPF_LD+BPF_B+BPF_ABS, BPF_STMT(BPF_LD+BPF_B+BPF_ABS,
@@ -738,9 +744,6 @@ dhcp_socket_t *dhcp_socket_create()
destroy(this); destroy(this);
return NULL; 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) if (bind(this->send, (struct sockaddr*)&src, sizeof(src)) == -1)
{ {
DBG1(DBG_CFG, "unable to bind DHCP send socket: %s", strerror(errno)); DBG1(DBG_CFG, "unable to bind DHCP send socket: %s", strerror(errno));
+7 -4
View File
@@ -136,7 +136,13 @@ METHOD(smtp_t, destroy, void,
smtp_t *smtp_create() smtp_t *smtp_create()
{ {
private_smtp_t *this; private_smtp_t *this;
struct sockaddr_in addr; struct sockaddr_in addr = {
.sin_family = AF_INET,
.sin_port = htons(25),
.sin_addr = {
.s_addr = htonl(INADDR_LOOPBACK),
},
};
int s; int s;
INIT(this, INIT(this,
@@ -153,9 +159,6 @@ smtp_t *smtp_create()
free(this); free(this);
return NULL; return NULL;
} }
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
addr.sin_port = htons(25);
if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) < 0) if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) < 0)
{ {
DBG1(DBG_LIB, "connecting to SMTP server failed: %s", strerror(errno)); DBG1(DBG_LIB, "connecting to SMTP server failed: %s", strerror(errno));