diff options
-rw-r--r-- | cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c | 1 | ||||
-rw-r--r-- | cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c | 2 | ||||
-rw-r--r-- | contrib/telnet/telnetd/state.c | 4 | ||||
-rw-r--r-- | usr.bin/csup/proto.c | 12 | ||||
-rw-r--r-- | usr.sbin/pkg_install/lib/exec.c | 1 | ||||
-rw-r--r-- | usr.sbin/pw/pwupd.c | 1 |
6 files changed, 17 insertions, 4 deletions
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c index 839ce06..df34eec 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c @@ -678,6 +678,7 @@ dt_printf(dtrace_hdl_t *dtp, FILE *fp, const char *format, ...) dtp->dt_buffered_offs += needed; assert(dtp->dt_buffered_buf[dtp->dt_buffered_offs] == '\0'); + va_end(ap); return (0); } diff --git a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c index 0db2dfd..2b802a5 100644 --- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c +++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c @@ -368,6 +368,7 @@ zfs_standard_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...) case ENOSPC: case EDQUOT: zfs_verror(hdl, EZFS_NOSPC, fmt, ap); + va_end(ap); return (-1); case EEXIST: @@ -467,6 +468,7 @@ zpool_standard_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...) case ENOSPC: case EDQUOT: zfs_verror(hdl, EZFS_NOSPC, fmt, ap); + va_end(ap); return (-1); case EAGAIN: diff --git a/contrib/telnet/telnetd/state.c b/contrib/telnet/telnetd/state.c index 300421f..9cad0c5 100644 --- a/contrib/telnet/telnetd/state.c +++ b/contrib/telnet/telnetd/state.c @@ -1600,8 +1600,10 @@ output_data(const char *format, ...) char *buf; va_start(args, format); - if ((len = vasprintf(&buf, format, args)) == -1) + if ((len = vasprintf(&buf, format, args)) == -1) { + va_end(args); return -1; + } output_datalen(buf, len); va_end(args); free(buf); diff --git a/usr.bin/csup/proto.c b/usr.bin/csup/proto.c index 145deb3..28841dd 100644 --- a/usr.bin/csup/proto.c +++ b/usr.bin/csup/proto.c @@ -789,18 +789,24 @@ proto_printf(struct stream *wr, const char *format, ...) case '%': n = stream_write(wr, "%", 1); - if (n == -1) + if (n == -1) { + va_end(ap); return (-1); + } break; } - if (rv == -1) + if (rv == -1) { + va_end(ap); return (-1); + } fmt = cp + 1; } if (*fmt != '\0') { rv = stream_printf(wr, "%s", fmt); - if (rv == -1) + if (rv == -1) { + va_end(ap); return (-1); + } } done: va_end(ap); diff --git a/usr.sbin/pkg_install/lib/exec.c b/usr.sbin/pkg_install/lib/exec.c index c95ac47..0804501 100644 --- a/usr.sbin/pkg_install/lib/exec.c +++ b/usr.sbin/pkg_install/lib/exec.c @@ -93,6 +93,7 @@ vpipe(const char *fmt, ...) fp = popen(cmd, "r"); if (fp == NULL) { warnx("popen() failed"); + va_end(args); return NULL; } get_string(rp, MAXPATHLEN, fp); diff --git a/usr.sbin/pw/pwupd.c b/usr.sbin/pw/pwupd.c index cb8456d..1e20cc4 100644 --- a/usr.sbin/pw/pwupd.c +++ b/usr.sbin/pw/pwupd.c @@ -102,6 +102,7 @@ pwdb(char *arg,...) if (WEXITSTATUS(i)) i = EIO; } + va_end(ap); return i; } |