summaryrefslogtreecommitdiff
path: root/sbin/swapctl
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2005-04-12 06:41:58 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2005-04-12 06:41:58 +0000
commit955e464a9074e9ffe919ae51fd2c1ca58912ee1a (patch)
tree5c00865e7f52ae572772bf5db88837682cdb5abf /sbin/swapctl
parenta841586d3488cbfc41d7a37d5d49c32394c06d99 (diff)
handle snprintf potential -1 case
Diffstat (limited to 'sbin/swapctl')
-rw-r--r--sbin/swapctl/swapctl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sbin/swapctl/swapctl.c b/sbin/swapctl/swapctl.c
index f09fa171089..8053e2436f7 100644
--- a/sbin/swapctl/swapctl.c
+++ b/sbin/swapctl/swapctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: swapctl.c,v 1.13 2004/01/12 19:46:08 avsm Exp $ */
+/* $OpenBSD: swapctl.c,v 1.14 2005/04/12 06:41:57 deraadt Exp $ */
/* $NetBSD: swapctl.c,v 1.9 1998/07/26 20:23:15 mycroft Exp $ */
/*
@@ -363,6 +363,7 @@ do_fstab(void)
if ((s = strstr(fp->fs_mntops, NFSMNTPT)) != NULL) {
char *t, cmd[sizeof(PATH_MOUNT)+PATH_MAX+1+PATH_MAX+1];
+ int l;
/*
* Skip this song and dance if we're only
@@ -386,8 +387,9 @@ do_fstab(void)
free((char *)spec);
continue;
}
- if (snprintf(cmd, sizeof(cmd), "%s %s %s",
- PATH_MOUNT, fp->fs_spec, spec) >= sizeof(cmd))
+ l = snprintf(cmd, sizeof(cmd), "%s %s %s",
+ PATH_MOUNT, fp->fs_spec, spec);
+ if (l == -1 || l >= sizeof(cmd))
errx(1, "path too long");
if (system(cmd) != 0) {
warnx("%s: mount failed", fp->fs_spec);