diff --git a/main/test.c b/main/test.c index 747262c7bf..03de33bce9 100644 --- a/main/test.c +++ b/main/test.c @@ -316,9 +316,13 @@ void ast_test_set_result(struct ast_test *test, enum ast_test_result_state state void ast_test_capture_free(struct ast_test_capture *capture) { if (capture) { - free(capture->outbuf); + /* + * Need to use ast_std_free because this memory wasn't + * allocated by the astmm functions. + */ + ast_std_free(capture->outbuf); capture->outbuf = NULL; - free(capture->errbuf); + ast_std_free(capture->errbuf); capture->errbuf = NULL; } capture->pid = -1; @@ -330,6 +334,7 @@ int ast_test_capture_command(struct ast_test_capture *capture, const char *file, int fd0[2] = { -1, -1 }, fd1[2] = { -1, -1 }, fd2[2] = { -1, -1 }; pid_t pid = -1; int status = 0; + FILE *cmd = NULL, *out = NULL, *err = NULL; memset(capture, 0, sizeof(*capture)); capture->pid = capture->exitcode = -1; @@ -379,8 +384,6 @@ int ast_test_capture_command(struct ast_test_capture *capture, const char *file, exit(1); } else { - FILE *cmd = NULL, *out = NULL, *err = NULL; - char buf[BUFSIZ]; int wstatus, n, nfds; fd_set readfds, writefds; diff --git a/tests/test_crypto.c b/tests/test_crypto.c index 141781bfe0..a3a0004b3c 100644 --- a/tests/test_crypto.c +++ b/tests/test_crypto.c @@ -49,7 +49,7 @@ static const char *old_key_dir = NULL; static char *hexstring(const unsigned char *data, unsigned datalen) { - char *buf = alloca(datalen * 2 + 1); + char *buf = ast_malloc(datalen * 2 + 1); unsigned n; for (n = 0; n < datalen; ++n) { @@ -532,6 +532,7 @@ AST_TEST_DEFINE(crypto_aes_encrypt) res = AST_TEST_PASS; cleanup: + ast_free(args[KEY]); ast_test_capture_free(&cap); return res; } @@ -610,6 +611,7 @@ AST_TEST_DEFINE(crypto_aes_decrypt) res = AST_TEST_PASS; cleanup: + ast_free(args[KEY]); ast_test_capture_free(&cap); return res; }