[PATCH 4/6] ftpd: Avoid use of uninitialized memory
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Oct 5 13:43:45 UTC 2018
Update #3530.
---
cpukit/ftpd/ftpd.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/cpukit/ftpd/ftpd.c b/cpukit/ftpd/ftpd.c
index 25656134fb..c9f6f656e3 100644
--- a/cpukit/ftpd/ftpd.c
+++ b/cpukit/ftpd/ftpd.c
@@ -1968,19 +1968,16 @@ ftpd_daemon(rtems_task_argument args RTEMS_UNUSED)
int s;
socklen_t addrLen;
struct sockaddr_in addr;
- FTPD_SessionInfo_t *info = NULL;
-
-
- s = socket(PF_INET, SOCK_STREAM, 0);
- if (s < 0)
- syslog(LOG_ERR, "ftpd: Error creating socket: %s", serr());
+ memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(ftpd_config->port);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
- memset(addr.sin_zero, 0, sizeof(addr.sin_zero));
- if (0 > bind(s, (struct sockaddr *)&addr, sizeof(addr)))
+ s = socket(PF_INET, SOCK_STREAM, 0);
+ if (s < 0)
+ syslog(LOG_ERR, "ftpd: Error creating control socket: %s", serr());
+ else if (0 > bind(s, (struct sockaddr *)&addr, sizeof(addr)))
syslog(LOG_ERR, "ftpd: Error binding control socket: %s", serr());
else if (0 > listen(s, 1))
syslog(LOG_ERR, "ftpd: Error listening on control socket: %s", serr());
@@ -1995,6 +1992,8 @@ ftpd_daemon(rtems_task_argument args RTEMS_UNUSED)
close_socket(ss);
else
{
+ FTPD_SessionInfo_t *info;
+
info = task_pool_obtain();
if (NULL == info)
{
--
2.16.4
More information about the devel
mailing list