From a4e3ccd6abb97d05121635112bdca44fc0e440b0 Mon Sep 17 00:00:00 2001 From: "Anthony J. Bentley" Date: Fri, 26 Apr 2013 19:01:52 -0600 Subject: Don't use the nonportable alloca() during tests. --- test/cscodec-ext8.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'test/cscodec-ext8.c') diff --git a/test/cscodec-ext8.c b/test/cscodec-ext8.c index bd7dfa4..d47fb2a 100644 --- a/test/cscodec-ext8.c +++ b/test/cscodec-ext8.c @@ -169,7 +169,7 @@ bool handle_line(const char *data, size_t datalen, void *pw) for (end = enc; !isspace(*end); end++) ; - enc_name = alloca(end - enc + 1); + enc_name = malloc(end - enc + 1); memcpy(enc_name, enc, end - enc); enc_name[end - enc] = 0; @@ -178,6 +178,8 @@ bool handle_line(const char *data, size_t datalen, void *pw) PARSERUTILS_OK); ctx->hadenc = true; + + free(enc_name); } } else { if (ctx->indata) { @@ -197,7 +199,7 @@ void run_test(line_ctx *ctx) { static int testnum; size_t destlen = ctx->bufused * 4; - uint8_t *dest = alloca(destlen); + uint8_t *dest = malloc(destlen); uint8_t *pdest = dest; const uint8_t *psrc = ctx->buf; size_t srclen = ctx->bufused; @@ -213,7 +215,7 @@ void run_test(line_ctx *ctx) &pdest, &destlen) == ctx->exp_ret); } else { size_t templen = ctx->bufused * 4; - uint8_t *temp = alloca(templen); + uint8_t *temp = malloc(templen); uint8_t *ptemp = temp; const uint8_t *ptemp2; size_t templen2; @@ -237,6 +239,8 @@ void run_test(line_ctx *ctx) assert(templen2 == 0); assert(temp + (ctx->bufused * 4 - templen) == ptemp2); } + + free(temp); } if (ctx->exp_ret == PARSERUTILS_OK) { assert(srclen == 0); @@ -259,5 +263,7 @@ void run_test(line_ctx *ctx) assert(pdest == dest + ctx->expused); assert(memcmp(dest, ctx->exp, ctx->expused) == 0); + + free(dest); } -- cgit v1.2.3