summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorray <ray@openbsd.org>2006-10-24 03:29:54 +0000
committerray <ray@openbsd.org>2006-10-24 03:29:54 +0000
commit9bef1c3b565418d05403575fcfe572c93671d41f (patch)
treeb4def4dc2726672aa5c88a20ab6d0c647376a4cb
parent- remove the TODO comments at the top. (diff)
downloadwireguard-openbsd-9bef1c3b565418d05403575fcfe572c93671d41f.tar.xz
wireguard-openbsd-9bef1c3b565418d05403575fcfe572c93671d41f.zip
Check that string length != 0 before setting buf[strlen(buf) - 1].
OK cloder@.
-rw-r--r--usr.sbin/afs/src/lib/cmd/cmd.c3
-rw-r--r--usr.sbin/afs/src/lib/sl/sl.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/usr.sbin/afs/src/lib/cmd/cmd.c b/usr.sbin/afs/src/lib/cmd/cmd.c
index b86e6e58cbe..ae353768192 100644
--- a/usr.sbin/afs/src/lib/cmd/cmd.c
+++ b/usr.sbin/afs/src/lib/cmd/cmd.c
@@ -801,7 +801,8 @@ cmd_ExtraText (const char *cmd, const char *sectionname,
len = asprintf (&section, "%%%s %s", class, name);
while (fgets (buf, sizeof(buf), f) != NULL) {
- buf[strlen(buf)-1] = '\0';
+ if (buf[0] != '\0' && buf[strlen(buf) - 1] == '\n')
+ buf[strlen(buf) - 1] = '\0';
if (buf[0] == '#')
continue;
diff --git a/usr.sbin/afs/src/lib/sl/sl.c b/usr.sbin/afs/src/lib/sl/sl.c
index dde33a6f123..33f8e1c8970 100644
--- a/usr.sbin/afs/src/lib/sl/sl.c
+++ b/usr.sbin/afs/src/lib/sl/sl.c
@@ -210,7 +210,7 @@ readline(char *prompt)
fflush (stdout);
if(fgets(buf, sizeof(buf), stdin) == NULL)
return NULL;
- if (buf[strlen(buf) - 1] == '\n')
+ if (buf[0] != '\0' && buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = '\0';
return strdup(buf);
}