On 5/10/22 15:21, Joshua C. Colp wrote:
On Tue, May 10, 2022 at 9:10 AM Dennis Buteyn
<dennis.but...@xorcom.com> wrote:
Noticed a ton of warnings (-Wformat-truncation, -Wunused-result,
-Wstringop-overflow, -Wstringop-truncation, -Wlto-type-mismatch,
-Wfree-nonheap-object, -Warray-bounds) compiling Asterisk 16.24.1
on the
few compilers I tried:
gcc (Debian 8.3.0-6) 8.3.0
gcc (Debian 10.2.1-6) 10.2.1 20210110
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0
Just curious if anyone is aware of these warnings and whether they
have
been resolved in later revisions.
Are these the default warning options when built in developer mode? If
so, then we take care of them as soon as we become aware - and we just
did a batch of GCC12 fixes to take care of the latest ones. Otherwise
you'd need to be more specific about what exactly is showing them. For
example, if it's PJSIP ones we generally don't touch it and such fixes
would need to go upstream. If these are options you've set, then we
wouldn't have seen them.
Rebased on master (a24979a2d7) and ignoring anything PJSIP-related,
still getting a bunch of warnings with gcc (Ubuntu 11.2.0-7ubuntu2)
11.2.0 (attached).
Compiler flags used:
-Wformat
-Werror=format-security
-Wdate-time
-Wall
-Wstrict-prototypes
-Wmissing-prototypes
-Wmissing-declarations
-Wl,--warn-common
As for the recent fixes, I guess we just need to wait for 16.27.
--
Dennis Buteyn
Xorcom Ltd
menuselect.c: In function 'generate_makeopts_file':
menuselect.c:1689:41: warning: ignoring return value of 'system' declared with attribute 'warn_unused_result' [-Wunused-result]
1689 | system(touchcommand);
| ^~~~~~~~~~~~~~~~~~~~
menuselect.c:1698:41: warning: ignoring return value of 'system' declared with attribute 'warn_unused_result' [-Wunused-result]
1698 | system(rmcommand);
| ^~~~~~~~~~~~~~~~~
menuselect.c:1708:33: warning: ignoring return value of 'system' declared with attribute 'warn_unused_result' [-Wunused-result]
1708 | system(touchcommand);
| ^~~~~~~~~~~~~~~~~~~~
menuselect.c:1717:33: warning: ignoring return value of 'system' declared with attribute 'warn_unused_result' [-Wunused-result]
1717 | system(rmcommand);
| ^~~~~~~~~~~~~~~~~
./include/asterisk/pbx.h:523:5: warning: type of 'ast_add_extension2' does not match original declaration [-Wlto-type-mismatch]
ael_main.c:221:5: note: type mismatch in parameter 11
221 | int ast_add_extension2(struct ast_context *con,
| ^
ael_main.c:221:5: note: 'ast_add_extension2' was previously declared here
./include/asterisk/cli.h:268:5: warning: type of '__ast_cli_register_multiple' does not match original declaration [-Wlto-type-mismatch]
ael_main.c:204:6: note: return value type mismatch
204 | void __ast_cli_register_multiple(void)
| ^
ael_main.c:204:6: note: type 'void' should match type 'int'
ael_main.c:204:6: note: '__ast_cli_register_multiple' was previously declared here
./include/asterisk/pbx.h:335:6: warning: type of 'ast_context_destroy' does not match original declaration [-Wlto-type-mismatch]
ael_main.c:414:6: note: type mismatch in parameter 1
414 | void ast_context_destroy(void)
| ^
ael_main.c:414:6: note: 'ast_context_destroy' was previously declared here
./include/asterisk/cli.h:283:5: warning: type of 'ast_cli_unregister_multiple' does not match original declaration [-Wlto-type-mismatch]
ael_main.c:408:6: note: return value type mismatch
408 | void ast_cli_unregister_multiple(void)
| ^
ael_main.c:408:6: note: type 'void' should match type 'int'
ael_main.c:408:6: note: 'ast_cli_unregister_multiple' was previously declared here
./include/asterisk/pbx.h:310:6: warning: type of 'ast_merge_contexts_and_delete' does not match original declaration [-Wlto-type-mismatch]
ael_main.c:389:6: note: type mismatch in parameter 1
389 | void ast_merge_contexts_and_delete(void)
| ^
ael_main.c:389:6: note: 'ast_merge_contexts_and_delete' was previously declared here
./include/asterisk/pbx.h:936:5: warning: type of 'ast_context_verify_includes' does not match original declaration [-Wlto-type-mismatch]
ael_main.c:395:6: note: return value type mismatch
395 | void ast_context_verify_includes(void)
| ^
ael_main.c:395:6: note: type 'void' should match type 'int'
ael_main.c:395:6: note: 'ast_context_verify_includes' was previously declared here
./include/asterisk/pbx.h:1321:21: warning: type of 'ast_walk_contexts' does not match original declaration [-Wlto-type-mismatch]
ael_main.c:401:22: note: type mismatch in parameter 1
401 | struct ast_context * ast_walk_contexts(void)
| ^
ael_main.c:401:22: note: 'ast_walk_contexts' was previously declared here
chan_dahdi.c: In function 'dahdi_r2_on_chan_log':
chan_dahdi.c:4010:18: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 242 and 252 [-Wformat-truncation=]
4010 | #define CHAN_TAG "Chan "
| ^~~~~~~
chan_dahdi.c:4014:67: note: format string is defined here
4014 | snprintf(completemsg, sizeof(completemsg), CHAN_TAG "%d - %s", openr2_chan_get_number(r2chan), logmsg);
| ^~
In file included from /usr/include/stdio.h:888,
from /build/source/include/asterisk/compat.h:49,
from /build/source/include/asterisk.h:22,
from chan_dahdi.c:55:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:71:10: note: '__snprintf_chk' output between 10 and 275 bytes into a destination of size 261
71 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'set_transfer_variables_all' at bridge.c:4390:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'set_transfer_variables_all':
bridge.c:4370:29: note: declared here
4370 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'find_session_by_nonce' at manager.c:7555:2,
inlined from 'auth_http_callback.constprop' at manager.c:8267:18:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'auth_http_callback.constprop':
manager.c:7531:29: note: declared here
7531 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'find_session_by_nonce' at manager.c:7555:2,
inlined from 'auth_http_callback.constprop' at manager.c:8267:18:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'auth_http_callback.constprop':
manager.c:7531:29: note: declared here
7531 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'find_session_by_nonce' at manager.c:7555:2,
inlined from 'auth_http_callback.constprop' at manager.c:8267:18:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'auth_http_callback.constprop':
manager.c:7531:29: note: declared here
7531 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'get_transferee' at bridge.c:4187:2,
inlined from 'ast_bridge_transfer_attended' at bridge.c:4821:15:
astmm.c:1556:9: warning: 'free' called on unallocated object 'channel_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bridge_transfer_attended':
bridge.c:4176:29: note: declared here
4176 | struct ao2_iterator channel_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'get_transferee' at bridge.c:4187:2,
inlined from 'ast_bridge_transfer_attended' at bridge.c:4821:15:
astmm.c:1556:9: warning: 'free' called on unallocated object 'channel_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bridge_transfer_attended':
bridge.c:4176:29: note: declared here
4176 | struct ao2_iterator channel_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'cel_generate_peer_str' at cel.c:1039:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'cel_generate_peer_str':
cel.c:1014:29: note: declared here
1014 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'config_hook_exec' at config.c:4198:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'config_hook_exec':
config.c:4184:29: note: declared here
4184 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_bridge_show_all' at bridge.c:5058:2,
inlined from 'handle_bridge_show_all' at bridge.c:5021:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_bridge_show_all':
bridge.c:5026:29: note: declared here
5026 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_add_hint.isra' at pbx.c:4068:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'cb_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_add_hint.isra':
pbx.c:4055:37: note: declared here
4055 | struct ao2_iterator cb_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'complete_core_id' at ccss.c:4570:2,
inlined from 'handle_cc_kill' at ccss.c:4588:11:
astmm.c:1556:9: warning: 'free' called on unallocated object 'core_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_cc_kill':
ccss.c:4556:29: note: declared here
4556 | struct ao2_iterator core_iter = ao2_iterator_init(cc_core_instances, 0);
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_showmanconn' at manager.c:2704:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_showmanconn':
manager.c:2670:29: note: declared here
2670 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'authenticate' at manager.c:3590:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'filter_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'authenticate':
manager.c:3519:29: note: declared here
3519 | struct ao2_iterator filter_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'authenticate' at manager.c:3597:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'filter_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'authenticate':
manager.c:3519:29: note: declared here
3519 | struct ao2_iterator filter_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_print_namedgroups' at channel.c:8158:2,
inlined from 'ast_print_namedgroups' at channel.c:8139:7:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_print_namedgroups':
channel.c:8144:29: note: declared here
8144 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'single_state_process_bridge_enter' at cdr.c:1793:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_cdrs' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'single_state_process_bridge_enter':
cdr.c:1751:29: note: declared here
1751 | struct ao2_iterator it_cdrs;
| ^
stasis_cache.c: In function 'caching_topic_exec':
stasis_cache.c:865:21: warning: 'strcmp' reading 1 or more bytes from a region of size 0 [-Wstringop-overread]
865 | if (strcmp(change->description, "Unsubscribe") == 0) {
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'dial_state_process_bridge_enter' at cdr.c:1949:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_cdrs' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'dial_state_process_bridge_enter':
cdr.c:1908:37: note: declared here
1908 | struct ao2_iterator it_cdrs;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_bridge_pairings' at cdr.c:2601:2,
inlined from 'handle_standard_bridge_enter_message' at cdr.c:2711:3,
inlined from 'handle_bridge_enter_message' at cdr.c:2763:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_channels' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_bridge_enter_message':
cdr.c:2586:29: note: declared here
2586 | struct ao2_iterator it_channels;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_bridge_channel_kick' at bridge_channel.c:620:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bridge_channel_kick':
bridge_channel.c:596:29: note: declared here
596 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'bridge_channel_event_join_leave' at bridge_channel.c:2842:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'bridge_channel_event_join_leave':
bridge_channel.c:2819:29: note: declared here
2819 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'bridge_channel_talking' at bridge_channel.c:1873:2,
inlined from 'bridge_channel_handle_action' at bridge_channel.c:2032:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'bridge_channel_handle_action':
bridge_channel.c:1854:29: note: declared here
1854 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'bridge_channel_moving' at bridge.c:2045:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'bridge_channel_moving':
bridge.c:2026:29: note: declared here
2026 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'cli_show_channels' at cdr.c:4072:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_cdrs' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'cli_show_channels':
cdr.c:4015:29: note: declared here
4015 | struct ao2_iterator it_cdrs;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'cli_complete_show' at cdr.c:4008:2,
inlined from 'handle_cli_show' at cdr.c:4153:10:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_cdrs' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_cli_show':
cdr.c:3995:29: note: declared here
3995 | struct ao2_iterator it_cdrs;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_cli_status' at cel.c:401:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_cli_status':
cel.c:358:29: note: declared here
358 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_cli_status' at cel.c:410:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_cli_status':
cel.c:358:29: note: declared here
358 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'tps_taskprocessor_tab_complete' at taskprocessor.c:463:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'tps_taskprocessor_tab_complete':
taskprocessor.c:450:29: note: declared here
450 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'tps_report_taskprocessor_list' at taskprocessor.c:637:2,
inlined from 'cli_tps_report' at taskprocessor.c:671:2,
inlined from 'cli_tps_report' at taskprocessor.c:643:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'cli_tps_report':
taskprocessor.c:612:29: note: declared here
612 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'cli_tps_reset_stats_all' at taskprocessor.c:1455:2,
inlined from 'cli_tps_reset_stats_all' at taskprocessor.c:1428:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'cli_tps_reset_stats_all':
taskprocessor.c:1431:29: note: declared here
1431 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'get_device_state_causing_channels.part.0' at pbx.c:3374:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'get_device_state_causing_channels.part.0':
pbx.c:3305:29: note: declared here
3305 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'find_session' at manager.c:7513:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'find_session':
manager.c:7492:29: note: declared here
7492 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'astman_verify_session_readpermissions' at manager.c:7604:2,
inlined from 'astman_verify_session_readpermissions' at manager.c:7576:5:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'astman_verify_session_readpermissions':
manager.c:7581:29: note: declared here
7581 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'astman_verify_session_writepermissions' at manager.c:7637:2,
inlined from 'astman_verify_session_writepermissions' at manager.c:7609:5:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'astman_verify_session_writepermissions':
manager.c:7614:29: note: declared here
7614 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'aco_set_defaults' at config_options.c:944:4:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'aco_set_defaults':
config_options.c:927:29: note: declared here
927 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'aco_set_defaults' at config_options.c:950:4:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'aco_set_defaults':
config_options.c:927:29: note: declared here
927 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'aco_set_defaults' at config_options.c:955:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'aco_set_defaults':
config_options.c:927:29: note: declared here
927 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'complete_config_module' at config_options.c:981:2,
inlined from 'cli_show_help' at config_options.c:1385:11:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'cli_show_help':
config_options.c:968:29: note: declared here
968 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'cli_show_modules' at config_options.c:1226:2,
inlined from 'cli_show_help' at config_options.c:1397:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_items' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'cli_show_help':
config_options.c:1211:29: note: declared here
1211 | struct ao2_iterator it_items;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_pickup_find_by_group' at pickup.c:167:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_pickup_find_by_group':
pickup.c:150:37: note: declared here
150 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'local_devicestate' at core_local.c:350:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'local_devicestate':
core_local.c:316:29: note: declared here
316 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'local_devicestate' at core_local.c:350:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'local_devicestate':
core_local.c:316:29: note: declared here
316 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'action_coreshowchannels' at manager.c:6455:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_chans' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'action_coreshowchannels':
manager.c:6403:29: note: declared here
6403 | struct ao2_iterator it_chans;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'locals_show' at core_local.c:1060:2,
inlined from 'locals_show' at core_local.c:1026:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'locals_show':
core_local.c:1029:29: note: declared here
1029 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from '__manager_event_sessions_va' at manager.c:7196:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function '__manager_event_sessions_va':
manager.c:7177:37: note: declared here
7177 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_show_hints' at pbx.c:5261:2,
inlined from 'handle_show_hints' at pbx.c:5206:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_show_hints':
pbx.c:5211:29: note: declared here
5211 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'complete_core_show_hint' at pbx.c:5299:2,
inlined from 'handle_show_hint' at pbx.c:5327:10:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_show_hint':
pbx.c:5275:29: note: declared here
5275 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_show_hint' at pbx.c:5362:2,
inlined from 'handle_show_hint' at pbx.c:5305:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_show_hint':
pbx.c:5310:29: note: declared here
5310 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'action_extensionstatelist' at pbx.c:8440:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_hints' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'action_extensionstatelist':
pbx.c:8395:29: note: declared here
8395 | struct ao2_iterator it_hints;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from '__ast_sorcery_wizard_register' at sorcery.c:464:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function '__ast_sorcery_wizard_register':
sorcery.c:464:9: note: declared here
464 | NOTIFY_GLOBAL_OBSERVERS(observers, wizard_registered,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'ast_sorcery_wizard_unregister' at sorcery.c:480:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_wizard_unregister':
sorcery.c:480:17: note: declared here
480 | NOTIFY_GLOBAL_OBSERVERS(observers, wizard_unregistering, wizard->callbacks.name, &wizard->callbacks);
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'sorcery_destructor' at sorcery.c:586:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'sorcery_destructor':
sorcery.c:586:17: note: declared here
586 | NOTIFY_GLOBAL_OBSERVERS(observers, instance_destroying, sorcery->module_name, sorcery);
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'ast_sorcery_load' at sorcery.c:1384:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_load':
sorcery.c:1384:9: note: declared here
1384 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, instance_loading,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'ast_sorcery_load' at sorcery.c:1389:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_load':
sorcery.c:1389:9: note: declared here
1389 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, instance_loaded,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'ast_sorcery_reload' at sorcery.c:1415:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_reload':
sorcery.c:1415:9: note: declared here
1415 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, instance_loading,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'ast_sorcery_reload' at sorcery.c:1420:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_reload':
sorcery.c:1420:9: note: declared here
1420 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, instance_loaded,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'ast_sorcery_force_reload' at sorcery.c:1433:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_force_reload':
sorcery.c:1433:9: note: declared here
1433 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, instance_loading,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'ast_sorcery_force_reload' at sorcery.c:1438:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_force_reload':
sorcery.c:1438:9: note: declared here
1438 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, instance_loaded,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_format_cache_get_by_codec' at format_cache.c:577:4:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_format_cache_get_by_codec':
format_cache.c:569:29: note: declared here
569 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_format_cache_get_by_codec' at format_cache.c:583:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_format_cache_get_by_codec':
format_cache.c:569:29: note: declared here
569 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_sorcery_objectset_json_create' at sorcery.c:1621:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_objectset_json_create':
sorcery.c:1569:29: note: declared here
1569 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_sorcery_objectset_json_create' at sorcery.c:1621:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_objectset_json_create':
sorcery.c:1569:29: note: declared here
1569 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from '__ast_sorcery_object_type_insert_wizard' at sorcery.c:952:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function '__ast_sorcery_object_type_insert_wizard':
sorcery.c:952:9: note: declared here
952 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, wizard_mapped,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'device_state_notify_callbacks' at pbx.c:3442:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'cb_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'device_state_notify_callbacks':
pbx.c:3379:29: note: declared here
3379 | struct ao2_iterator cb_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'device_state_notify_callbacks' at pbx.c:3466:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'cb_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'device_state_notify_callbacks':
pbx.c:3379:29: note: declared here
3379 | struct ao2_iterator cb_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'device_state_cb' at pbx.c:3628:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'cb_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'device_state_cb':
pbx.c:3611:37: note: declared here
3611 | struct ao2_iterator cb_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'device_state_cb' at pbx.c:3707:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'auto_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'device_state_cb':
pbx.c:3598:29: note: declared here
3598 | struct ao2_iterator auto_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from '__ast_sorcery_open' at sorcery.c:657:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function '__ast_sorcery_open':
sorcery.c:657:9: note: declared here
657 | NOTIFY_GLOBAL_OBSERVERS(observers, instance_created, module_name, sorcery);
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from '__ast_sorcery_object_register' at sorcery.c:1108:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function '__ast_sorcery_object_register':
sorcery.c:1108:9: note: declared here
1108 | NOTIFY_INSTANCE_OBSERVERS(sorcery->observers, object_type_registered,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'sorcery_object_load' at sorcery.c:1353:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'sorcery_object_load':
sorcery.c:1353:9: note: declared here
1353 | NOTIFY_INSTANCE_OBSERVERS(details->sorcery->observers, object_type_loading,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'sorcery_wizard_load' at sorcery.c:1270:3,
inlined from 'sorcery_object_load' at sorcery.c:1357:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'sorcery_object_load':
sorcery.c:1270:17: note: declared here
1270 | NOTIFY_WIZARD_OBSERVERS(wizard->wizard->observers, wizard_loading,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'sorcery_wizard_load' at sorcery.c:1275:3,
inlined from 'sorcery_object_load' at sorcery.c:1357:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'sorcery_object_load':
sorcery.c:1275:17: note: declared here
1275 | NOTIFY_WIZARD_OBSERVERS(wizard->wizard->observers, wizard_loaded,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ao2_iterator_cleanup' at astobj2_container.c:552:3,
inlined from 'sorcery_object_load' at sorcery.c:1360:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'sorcery_object_load':
sorcery.c:1360:9: note: declared here
1360 | NOTIFY_INSTANCE_OBSERVERS(details->sorcery->observers, object_type_loaded,
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'presence_state_notify_callbacks' at pbx.c:3528:2,
inlined from 'presence_state_cb' at pbx.c:8382:4:
astmm.c:1556:9: warning: 'free' called on unallocated object 'cb_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'presence_state_cb':
pbx.c:3474:29: note: declared here
3474 | struct ao2_iterator cb_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'presence_state_notify_callbacks' at pbx.c:3541:2,
inlined from 'presence_state_cb' at pbx.c:8382:4:
astmm.c:1556:9: warning: 'free' called on unallocated object 'cb_iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'presence_state_cb':
pbx.c:3474:29: note: declared here
3474 | struct ao2_iterator cb_iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'complete_country' at indications.c:653:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'complete_country':
indications.c:637:29: note: declared here
637 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'cli_complete_uri' at media_cache.c:514:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_media_items' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'cli_complete_uri':
media_cache.c:504:29: note: declared here
504 | struct ao2_iterator it_media_items;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'media_cache_handle_show_item' at media_cache.c:556:2,
inlined from 'media_cache_handle_show_item' at media_cache.c:519:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_metadata' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'media_cache_handle_show_item':
media_cache.c:523:29: note: declared here
523 | struct ao2_iterator it_metadata;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_endpoint_snapshot_create' at endpoints.c:482:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_endpoint_snapshot_create':
endpoints.c:450:29: note: declared here
450 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_sorcery_objectset_create2' at sorcery.c:1560:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_sorcery_objectset_create2':
sorcery.c:1516:29: note: declared here
1516 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_cli_indication_show' at indications.c:838:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_cli_indication_show':
indications.c:827:37: note: declared here
827 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_merge_contexts_and_delete' at pbx.c:6574:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_merge_contexts_and_delete':
pbx.c:6483:29: note: declared here
6483 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'msg_func_write' at message.c:1105:4:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'msg_func_write':
message.c:1099:45: note: declared here
1099 | struct ao2_iterator iter = ao2_iterator_init(msg->vars, 0);
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'purge_sessions' at manager.c:7062:2,
inlined from 'purge_old_stuff' at manager.c:8656:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'purge_old_stuff':
manager.c:7037:29: note: declared here
7037 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_manager_show_event' at manager.c:8887:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_events' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_manager_show_event':
manager.c:8853:29: note: declared here
8853 | struct ao2_iterator it_events;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_show_named_acl_cmd' at named_acl.c:505:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_show_named_acl_cmd':
named_acl.c:475:29: note: declared here
475 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'cli_display_named_acl_list' at named_acl.c:467:2,
inlined from 'handle_show_named_acl_cmd' at named_acl.c:512:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_show_named_acl_cmd':
named_acl.c:449:29: note: declared here
449 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'stasis_show_topics' at stasis.c:2378:2,
inlined from 'stasis_show_topics' at stasis.c:2336:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'stasis_show_topics':
stasis.c:2338:29: note: declared here
2338 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'topic_complete_name' at stasis.c:2411:2,
inlined from 'stasis_show_topic' at stasis.c:2434:11:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'stasis_show_topic':
stasis.c:2396:29: note: declared here
2396 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_cli_sound_show' at sounds.c:235:3:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_sounds' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_cli_sound_show':
sounds.c:196:29: note: declared here
196 | struct ao2_iterator it_sounds;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_bucket_json' at bucket.c:585:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bucket_json':
bucket.c:548:29: note: declared here
548 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_bucket_json' at bucket.c:585:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bucket_json':
bucket.c:548:29: note: declared here
548 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_bucket_json' at bucket.c:610:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bucket_json':
bucket.c:548:29: note: declared here
548 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_bucket_file_json' at bucket.c:889:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bucket_file_json':
bucket.c:853:29: note: declared here
853 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_bucket_file_json' at bucket.c:889:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bucket_file_json':
bucket.c:853:29: note: declared here
853 | struct ao2_iterator i;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'container_to_json_array' at stasis_bridges.c:692:4,
inlined from 'ast_bridge_snapshot_to_json' at stasis_bridges.c:723:18:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bridge_snapshot_to_json':
stasis_bridges.c:678:29: note: declared here
678 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'container_to_json_array' at stasis_bridges.c:698:2,
inlined from 'ast_bridge_snapshot_to_json' at stasis_bridges.c:723:18:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_bridge_snapshot_to_json':
stasis_bridges.c:678:29: note: declared here
678 | struct ao2_iterator it;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'handle_chanlist' at cli.c:1202:2,
inlined from 'handle_chanlist' at cli.c:1099:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'it_chans' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'handle_chanlist':
cli.c:1108:29: note: declared here
1108 | struct ao2_iterator it_chans;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'ast_complete_channels' at cli.c:1891:2:
astmm.c:1556:9: warning: 'free' called on unallocated object 'iter' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'ast_complete_channels':
cli.c:1867:29: note: declared here
1867 | struct ao2_iterator iter;
| ^
In function '__ast_free',
inlined from 'ao2_iterator_destroy' at astobj2_container.c:545:3,
inlined from 'ao2_iterator_destroy' at astobj2_container.c:534:6,
inlined from 'show_codecs' at codec.c:182:2,
inlined from 'show_codecs' at codec.c:120:14:
astmm.c:1556:9: warning: 'free' called on unallocated object 'i' [-Wfree-nonheap-object]
1556 | free(ptr);
| ^
astmm.c: In function 'show_codecs':
codec.c:122:29: note: declared here
122 | struct ao2_iterator i;
| ^
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev