From 8c6f71e01e40075156c8b83f2c5e15ab73e66036 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 29 Mar 2010 18:13:31 -0600 Subject: gallivm: use constant size array, added assertion check --- src/gallium/auxiliary/gallivm/lp_bld_printf.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gallium/auxiliary/gallivm/lp_bld_printf.c b/src/gallium/auxiliary/gallivm/lp_bld_printf.c index ae4d400af39..78c9ec778b6 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_printf.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_printf.c @@ -27,6 +27,8 @@ #include +#include "util/u_debug.h" +#include "util/u_memory.h" #include "lp_bld_printf.h" @@ -84,12 +86,14 @@ lp_build_printf(LLVMBuilderRef builder, const char *fmt, ...) int i = 0; int argcount = lp_get_printf_arg_count(fmt); LLVMModuleRef module = LLVMGetGlobalParent(LLVMGetBasicBlockParent(LLVMGetInsertBlock(builder))); - LLVMValueRef params[argcount + 1]; + LLVMValueRef params[50]; LLVMValueRef fmtarg = lp_build_const_string_variable(module, fmt, strlen(fmt) + 1); LLVMValueRef int0 = LLVMConstInt(LLVMInt32Type(), 0, 0); LLVMValueRef index[2]; LLVMValueRef func_printf = LLVMGetNamedFunction(module, "printf"); + assert(Elements(params) >= argcount + 1); + index[0] = index[1] = int0; if (!func_printf) { -- cgit v1.2.3