diff options
author | wiz <wiz@NetBSD.org> | 2001-09-24 13:22:25 +0000 |
---|---|---|
committer | wiz <wiz@NetBSD.org> | 2001-09-24 13:22:25 +0000 |
commit | 190af08cf37d9e3ef84ed9e65660d702e2082d70 (patch) | |
tree | f9b4bc538372ab0488b413a86c3338354d4c1d09 /larn | |
parent | de348b6ea4939bf1e7ff2fa4ac0a319b2cf7ae51 (diff) | |
download | bsdgames-darwin-190af08cf37d9e3ef84ed9e65660d702e2082d70.tar.gz bsdgames-darwin-190af08cf37d9e3ef84ed9e65660d702e2082d70.tar.zst bsdgames-darwin-190af08cf37d9e3ef84ed9e65660d702e2082d70.zip |
va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).
Improved by comments from enami and christos -- thanks!
Heimdal/krb4/KAME changes already fed back, rest to follow.
Inspired by, but not not based on, OpenBSD.
Diffstat (limited to 'larn')
-rw-r--r-- | larn/io.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $NetBSD: io.c,v 1.11 2001/02/05 00:57:33 christos Exp $ */ +/* $NetBSD: io.c,v 1.12 2001/09/24 13:22:29 wiz Exp $ */ /* * io.c Larn is copyrighted 1986 by Noah Morgan. @@ -62,7 +62,7 @@ */ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: io.c,v 1.11 2001/02/05 00:57:33 christos Exp $"); +__RCSID("$NetBSD: io.c,v 1.12 2001/09/24 13:22:29 wiz Exp $"); #endif /* not lint */ #include "header.h" @@ -278,6 +278,7 @@ va_dcl *outb++ = *fmt++; else { lpnt = outb; + va_end(ap); return; } wide = 0; |