aboutsummaryrefslogtreecommitdiff
path: root/src/appl
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2007-07-12 23:35:24 +0000
committerKen Raeburn <raeburn@mit.edu>2007-07-12 23:35:24 +0000
commitc67c8d9e788049afcfd76709116172ac26b3c02d (patch)
tree33dde4459bdb8e2e3b7d334a74ec33c6b304004e /src/appl
parent83ac9cd518766c5db25bc3cdb34ee276c89770ee (diff)
downloadkrb5-c67c8d9e788049afcfd76709116172ac26b3c02d.zip
krb5-c67c8d9e788049afcfd76709116172ac26b3c02d.tar.gz
krb5-c67c8d9e788049afcfd76709116172ac26b3c02d.tar.bz2
Use [v]snprintf or asprintf instead of unchecked sprintf and separate allocation size calculations
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19709 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/appl')
-rw-r--r--src/appl/bsd/v4rcp.c5
-rw-r--r--src/appl/telnet/telnetd/telnetd.c19
-rw-r--r--src/appl/telnet/telnetd/utility.c4
3 files changed, 16 insertions, 12 deletions
diff --git a/src/appl/bsd/v4rcp.c b/src/appl/bsd/v4rcp.c
index 71b1b8d..3cb7b3f 100644
--- a/src/appl/bsd/v4rcp.c
+++ b/src/appl/bsd/v4rcp.c
@@ -812,8 +812,9 @@ void sink(argc, argv)
SCREWUP("size not delimited");
if (targisdir) {
if (strlen(targ) + strlen(cp) + 1 < sizeof(nambuf)) {
- (void) sprintf(nambuf, "%s%s%s", targ,
- *targ ? "/" : "", cp);
+ (void) snprintf(nambuf, sizeof(nambuf),
+ "%s%s%s", targ,
+ *targ ? "/" : "", cp);
} else {
SCREWUP("target directory name too long");
}
diff --git a/src/appl/telnet/telnetd/telnetd.c b/src/appl/telnet/telnetd/telnetd.c
index 725075d..4115b66 100644
--- a/src/appl/telnet/telnetd/telnetd.c
+++ b/src/appl/telnet/telnetd/telnetd.c
@@ -201,15 +201,18 @@ get_default_IM()
static char banner[1024];
if (uname(&name) < 0)
- sprintf(banner, "\r\nError getting hostname: %s\r\n",
- strerror(errno));
+ snprintf(banner, sizeof(banner),
+ "\r\nError getting hostname: %s\r\n",
+ strerror(errno));
else {
#if defined(_AIX)
- sprintf(banner, "\r\n %%h (%s release %s.%s) (%%t)\r\n\r\n",
- name.sysname, name.version, name.release);
+ snprintf(banner, sizeof(banner),
+ "\r\n %%h (%s release %s.%s) (%%t)\r\n\r\n",
+ name.sysname, name.version, name.release);
#else
- sprintf(banner, "\r\n %%h (%s release %s %s) (%%t)\r\n\r\n",
- name.sysname, name.release, name.version);
+ snprintf(banner, sizeof(banner),
+ "\r\n %%h (%s release %s %s) (%%t)\r\n\r\n",
+ name.sysname, name.release, name.version);
#endif
}
return banner;
@@ -966,10 +969,10 @@ static void doit(who)
if (secflag) {
char slave_dev[16];
/*xxx This code needs to be fixed to work without ptynum; I don't understand why they don't currently use line, so I don't really know how to fix.*/
- sprintf(tty_dev, "/dev/pty/%03d", ptynum);
+ snprintf(tty_dev, sizeof(tty_dev), "/dev/pty/%03d", ptynum);
if (setdevs(tty_dev, &dv) < 0)
fatal(net, "cannot set pty security");
- sprintf(slave_dev, "/dev/ttyp%03d", ptynum);
+ snprintf(slave_dev, sizeof(slave_dev), "/dev/ttyp%03d", ptynum);
if (setdevs(slave_dev, &dv) < 0)
fatal(net, "cannot set tty security");
}
diff --git a/src/appl/telnet/telnetd/utility.c b/src/appl/telnet/telnetd/utility.c
index a091d08..4a4c130 100644
--- a/src/appl/telnet/telnetd/utility.c
+++ b/src/appl/telnet/telnetd/utility.c
@@ -516,7 +516,7 @@ fatal(f, msg)
{
char buf[BUFSIZ];
- (void) sprintf(buf, "telnetd: %s.\r\n", msg);
+ (void) snprintf(buf, sizeof(buf), "telnetd: %s.\r\n", msg);
#ifdef ENCRYPTION
if (encrypt_output) {
/*
@@ -539,7 +539,7 @@ fatalperror(f, msg)
{
char buf[BUFSIZ], *strerror();
- (void) sprintf(buf, "%s: %s\r\n", msg, strerror(errno));
+ (void) snprintf(buf, sizeof(buf), "%s: %s\r\n", msg, strerror(errno));
fatal(f, buf);
}