diff options
author | Chad Loder <cloder@cvs.openbsd.org> | 2002-11-22 02:37:48 +0000 |
---|---|---|
committer | Chad Loder <cloder@cvs.openbsd.org> | 2002-11-22 02:37:48 +0000 |
commit | 899c915f9eb1bc67538625befc06274ec1b98d7f (patch) | |
tree | 554c32e3115dead075616c4acd1326da85aa6347 /libexec | |
parent | 93020230a72487254152845a37e3a84f87c4ca03 (diff) |
Correct string termination in jobend() for saved_path and saved_user.
OK millert@
Diffstat (limited to 'libexec')
-rw-r--r-- | libexec/telnetd/sys_term.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/libexec/telnetd/sys_term.c b/libexec/telnetd/sys_term.c index 88fdd56e004..d253f373d7c 100644 --- a/libexec/telnetd/sys_term.c +++ b/libexec/telnetd/sys_term.c @@ -1812,6 +1812,11 @@ cleantmp(wtp) return(ret); } +/* + * jobend + * Assumes that if path is not NULL, then user is also + * not NULL. + */ int jobend(jid, path, user) int jid; @@ -1841,10 +1846,10 @@ jobend(jid, path, user) } if (path) { - strncpy(saved_path, path, sizeof(wtmp.ut_tpath)); - strncpy(saved_user, user, sizeof(wtmp.ut_user)); - saved_path[sizeof(saved_path)] = '\0'; - saved_user[sizeof(saved_user)] = '\0'; + strncpy(saved_path, path, sizeof(saved_path) - 1); + strncpy(saved_user, path, sizeof(saved_user) - 1); + saved_path[sizeof(saved_path) - 1] = '\0'; + saved_user[sizeof(saved_user) - 1] = '\0'; } if (saved_jid == 0) { saved_jid = jid; |