From: Jiri Popelka Date: Fri, 10 Jun 2011 13:26:00 +0000 (+0200) Subject: iptables: Coverity: VARARGS X-Git-Tag: v1.4.12~3^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d0101690d9ae347d8a8ee9e340c5db72480046a3;p=thirdparty%2Fiptables.git iptables: Coverity: VARARGS xtables.c:931: va_init: Initializing va_list "args". xtables.c:938: missing_va_end: va_end was not called for "args". xtables.c:947: missing_va_end: va_end was not called for "args". xtables.c:961: missing_va_end: va_end was not called for "args". Signed-off-by: Jan Engelhardt --- diff --git a/iptables/xtables.c b/iptables/xtables.c index acfcf8bd..db6d079f 100644 --- a/iptables/xtables.c +++ b/iptables/xtables.c @@ -1042,8 +1042,10 @@ void xtables_param_act(unsigned int status, const char *p1, ...) case XTF_ONLY_ONCE: p2 = va_arg(args, const char *); b = va_arg(args, unsigned int); - if (!b) + if (!b) { + va_end(args); return; + } xt_params->exit_err(PARAMETER_PROBLEM, "%s: \"%s\" option may only be specified once", p1, p2); @@ -1051,8 +1053,10 @@ void xtables_param_act(unsigned int status, const char *p1, ...) case XTF_NO_INVERT: p2 = va_arg(args, const char *); b = va_arg(args, unsigned int); - if (!b) + if (!b) { + va_end(args); return; + } xt_params->exit_err(PARAMETER_PROBLEM, "%s: \"%s\" option cannot be inverted", p1, p2); break; @@ -1065,8 +1069,10 @@ void xtables_param_act(unsigned int status, const char *p1, ...) break; case XTF_ONE_ACTION: b = va_arg(args, unsigned int); - if (!b) + if (!b) { + va_end(args); return; + } xt_params->exit_err(PARAMETER_PROBLEM, "%s: At most one action is possible", p1); break;