Index: tests/test_voicemail_api.c =================================================================== --- tests/test_voicemail_api.c (revision 397696) +++ tests/test_voicemail_api.c (working copy) @@ -310,6 +310,18 @@ return snapshot; } +/*! + * \internal + * \brief Destroy a mock snapshot object + */ +static void test_vm_api_destroy_mock_snapshot(struct ast_vm_msg_snapshot *snapshot) +{ + if (snapshot) { + ast_string_field_free_memory(snapshot); + ast_free(snapshot); + } +} + /*! \internal \brief Make a voicemail mailbox folder based on the values provided in a message snapshot * \param snapshot The snapshot containing the information to create the folder from * \returns 0 on success @@ -518,10 +530,10 @@ || !((msg_three = test_vm_api_create_mock_snapshot("default", "test_vm_api_2345", "\"Phil\" <2000>"))) || !((msg_four = test_vm_api_create_mock_snapshot("default", "test_vm_api_2345", "\"Bill\" <3000>")))) { ast_log(AST_LOG_ERROR, "Failed to create mock snapshots for test\n"); - ast_free(msg_one); - ast_free(msg_two); - ast_free(msg_three); - ast_free(msg_four); + test_vm_api_destroy_mock_snapshot(msg_one); + test_vm_api_destroy_mock_snapshot(msg_two); + test_vm_api_destroy_mock_snapshot(msg_three); + test_vm_api_destroy_mock_snapshot(msg_four); return 1; } @@ -529,10 +541,10 @@ if (ast_vm_test_create_user("default", "test_vm_api_1234") || ast_vm_test_create_user("default", "test_vm_api_2345")) { ast_log(AST_LOG_ERROR, "Failed to create test voicemail users\n"); - ast_free(msg_one); - ast_free(msg_two); - ast_free(msg_three); - ast_free(msg_four); + test_vm_api_destroy_mock_snapshot(msg_one); + test_vm_api_destroy_mock_snapshot(msg_two); + test_vm_api_destroy_mock_snapshot(msg_three); + test_vm_api_destroy_mock_snapshot(msg_four); /* Note that the cleanup macro will ensure that any test user that * was successfully created is removed */ @@ -585,7 +597,7 @@ * up the object here instead */ ast_log(AST_LOG_ERROR, "Failed to store voicemail %s/%s\n", "default", test_snapshots[i]->exten); - ast_free(test_snapshots[i]); + test_vm_api_destroy_mock_snapshot(test_snapshots[i]); test_snapshots[i] = NULL; res = 1; } @@ -601,7 +613,7 @@ /* Remove our test message snapshots */ for (i = 0; i < TOTAL_SNAPSHOTS; ++i) { test_vm_api_remove_voicemail(test_snapshots[i]); - ast_free(test_snapshots[i]); + test_vm_api_destroy_mock_snapshot(test_snapshots[i]); test_snapshots[i] = NULL; } @@ -732,6 +744,7 @@ VM_API_INT_VERIFY(2, test_mbox_snapshot->total_msg_num); VM_API_SNAPSHOT_MSG_VERIFY(test_snapshots[0], test_mbox_snapshot, "INBOX", 0); VM_API_SNAPSHOT_MSG_VERIFY(test_snapshots[1], test_mbox_snapshot, "INBOX", 1); + ast_vm_mailbox_snapshot_destroy(test_mbox_snapshot); ast_test_status_update(test, "Test retrieving message 1, 0 from Old and INBOX of test_vm_1234 ordered by time desc\n"); VM_API_SNAPSHOT_CREATE("test_vm_api_1234", "default", "INBOX", 1, AST_VM_SNAPSHOT_SORT_BY_TIME, 1);