mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
Merge "Fix unsafe uses of ast_context pointers."
This commit is contained in:
@@ -42,10 +42,10 @@ ASTERISK_REGISTER_FILE()
|
||||
|
||||
AST_TEST_DEFINE(test_gosub)
|
||||
{
|
||||
#define CONTEXT_NAME "tests_test_gosub_virtual_context"
|
||||
int res = AST_TEST_PASS, i;
|
||||
struct ast_channel *chan;
|
||||
struct ast_str *str;
|
||||
struct ast_context *con;
|
||||
struct testplan {
|
||||
const char *app;
|
||||
const char *args;
|
||||
@@ -119,14 +119,14 @@ AST_TEST_DEFINE(test_gosub)
|
||||
}
|
||||
|
||||
/* Create our test dialplan */
|
||||
if (!(con = ast_context_find_or_create(NULL, NULL, "tests_test_gosub_virtual_context", "test_gosub"))) {
|
||||
if (!ast_context_find_or_create(NULL, NULL, CONTEXT_NAME, "test_gosub")) {
|
||||
ast_test_status_update(test, "Unable to create test dialplan context");
|
||||
ast_free(str);
|
||||
ast_channel_unref(chan);
|
||||
return AST_TEST_FAIL;
|
||||
}
|
||||
|
||||
ast_add_extension2(con, 1, "s", 1, NULL, NULL, "NoOp", ast_strdup(""), ast_free_ptr, "test_gosub");
|
||||
ast_add_extension(CONTEXT_NAME, 1, "s", 1, NULL, NULL, "NoOp", ast_strdup(""), ast_free_ptr, "test_gosub");
|
||||
|
||||
for (i = 0; i < ARRAY_LEN(testplan); i++) {
|
||||
if (testplan[i].app == NULL) {
|
||||
@@ -157,8 +157,8 @@ AST_TEST_DEFINE(test_gosub)
|
||||
|
||||
ast_free(str);
|
||||
ast_channel_unref(chan);
|
||||
ast_context_remove_extension2(con, "s", 1, NULL, 0);
|
||||
ast_context_destroy(con, "test_gosub");
|
||||
ast_context_remove_extension(CONTEXT_NAME, "s", 1, NULL);
|
||||
ast_context_destroy(NULL, "test_gosub");
|
||||
|
||||
return res;
|
||||
}
|
||||
|
@@ -198,7 +198,6 @@ AST_TEST_DEFINE(pattern_match_test)
|
||||
*/
|
||||
struct {
|
||||
const char * context_string;
|
||||
struct ast_context *context;
|
||||
} contexts[] = {
|
||||
{ TEST_PATTERN, },
|
||||
{ TEST_PATTERN_INCLUDE, },
|
||||
@@ -267,7 +266,7 @@ AST_TEST_DEFINE(pattern_match_test)
|
||||
*/
|
||||
|
||||
for (i = 0; i < ARRAY_LEN(contexts); ++i) {
|
||||
if (!(contexts[i].context = ast_context_find_or_create(NULL, NULL, contexts[i].context_string, registrar))) {
|
||||
if (!ast_context_find_or_create(NULL, NULL, contexts[i].context_string, registrar)) {
|
||||
ast_test_status_update(test, "Failed to create context %s\n", contexts[i].context_string);
|
||||
res = AST_TEST_FAIL;
|
||||
goto cleanup;
|
||||
@@ -319,11 +318,7 @@ AST_TEST_DEFINE(pattern_match_test)
|
||||
}
|
||||
|
||||
cleanup:
|
||||
for (i = 0; i < ARRAY_LEN(contexts); ++i) {
|
||||
if (contexts[i].context) {
|
||||
ast_context_destroy(contexts[i].context, registrar);
|
||||
}
|
||||
}
|
||||
ast_context_destroy(NULL, registrar);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
Reference in New Issue
Block a user