diff options
author | kevlo <kevlo@FreeBSD.org> | 2012-09-28 07:51:30 +0000 |
---|---|---|
committer | kevlo <kevlo@FreeBSD.org> | 2012-09-28 07:51:30 +0000 |
commit | a93e845e54aef353af783f879e3482a9e473a572 (patch) | |
tree | f864a7f6a0ad8eb6c98c82aec4ef26f6d771057c /contrib/telnet | |
parent | 55f6ff40edbcb6a2a67bfeb9304aecc846a4390d (diff) | |
download | FreeBSD-src-a93e845e54aef353af783f879e3482a9e473a572.zip FreeBSD-src-a93e845e54aef353af783f879e3482a9e473a572.tar.gz |
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
Diffstat (limited to 'contrib/telnet')
-rw-r--r-- | contrib/telnet/telnetd/state.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); |