]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
login: fix leak, improve strtok usage
authorKarel Zak <kzak@redhat.com>
Mon, 6 Feb 2012 11:51:55 +0000 (12:51 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 6 Feb 2012 11:51:55 +0000 (12:51 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
login-utils/login.c

index ff56cac4fa6c71bac240667943a53bf2b0292335..80d287d97c543beacf8ff3a5b5b0987a64661f7b 100644 (file)
@@ -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);
 }
 
 /*