From: Karel Zak Date: Mon, 6 Feb 2012 11:51:55 +0000 (+0100) Subject: login: fix leak, improve strtok usage X-Git-Tag: v2.21-rc2~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=34bb8eea903ccf708d509428a39bbe50cf87928d;p=thirdparty%2Futil-linux.git login: fix leak, improve strtok usage Signed-off-by: Karel Zak --- diff --git a/login-utils/login.c b/login-utils/login.c index ff56cac4fa..80d287d97c 100644 --- a/login-utils/login.c +++ b/login-utils/login.c @@ -217,7 +217,7 @@ static const char *get_thishost(struct login_context *cxt, const char **domain) */ static void motd(void) { - char *motdlist, *motdfile, *cp; + char *motdlist, *motdfile; const char *mb; mb = getlogindefs_str("MOTD_FILE", _PATH_MOTDFILE); @@ -226,7 +226,9 @@ static void motd(void) motdlist = xstrdup(mb); - for (cp = motdlist; (motdfile = strtok(cp, ":")); cp = NULL) { + for (motdfile = strtok(motdlist, ":"); motdfile; + motdfile = strtok(NULL, ":")) { + struct stat st; int fd; @@ -239,6 +241,8 @@ static void motd(void) sendfile(fileno(stdout), fd, NULL, st.st_size); close(fd); } + + free(motdlist); } /*