| clang 3.9 add this warning to rightly flag undefined |
| behavior, we relegate this to be just a warning instead |
| of error and keep the behavior as it was. Right fix would |
| be to not pass enum to the function with variadic arguments |
| as last named argument |
| |
| Fixes errors like |
| ocsp.c:2220:22: error: passing an object that undergoes default argument promotion to 'va_start' has undefined behavior [-Werror,-Wvarargs] |
| va_start(ap, responseType0); |
| ^ |
| ocsp.c:2200:43: note: parameter of type 'SECOidTag' is declared here |
| SECOidTag responseType0, ...) |
| |
| see |
| https://www.securecoding.cert.org/confluence/display/cplusplus/EXP58-CPP.+Pass+an+object+of+the+correct+type+to+va_start |
| for more details |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| Upstream-Status: Pending |
| |
| Index: nss-3.24/nss/coreconf/Werror.mk |
| =================================================================== |
| --- nss-3.24.orig/nss/coreconf/Werror.mk |
| +++ nss-3.24/nss/coreconf/Werror.mk |
| @@ -54,7 +54,7 @@ ifndef WARNING_CFLAGS |
| ifdef CC_IS_CLANG |
| # -Qunused-arguments : clang objects to arguments that it doesn't understand |
| # and fixing this would require rearchitecture |
| - WARNING_CFLAGS += -Qunused-arguments |
| + WARNING_CFLAGS += -Qunused-arguments -Wno-error=varargs |
| # -Wno-parentheses-equality : because clang warns about macro expansions |
| WARNING_CFLAGS += $(call disable_warning,parentheses-equality) |
| ifdef BUILD_OPT |