pbx_extension_helper has a check for q->swo.exec == NULL but it doesn't
actually return so we would still run the function. Fix the return.
Move the 'int res' variable into the only scope which uses it.
Change-Id: I0693af921fdc7f56b6a72a21fb816ed08b960a69
This uses AO2_STRING_FIELD_HASH_FN and AO2_STRING_FIELD_CMP_FN where
possible in the Asterisk core.
This removes CMP_STOP from the result of CMP_FN callbacks for the
following structure types:
* ast_bucket_metadata
* ast_bucket_scheme
* generic_monitor_instance_list (ccss.c)
* named_acl
Change-Id: Ide4c1449a894bce70dea1fef664dade9b57578f1
* Use current OBJ_SEARCH_xxx defines instead of the deprecated versions.
* Fix hash_cb and cmp_cb container functions to correctly use the
OBJ_SEARCH_xxx values.
* Remove incorrect usage of CMP_STOP. Most uses in the system have no
effect. This allows the collapse of channel_role_single_cmp_cb() and
channel_role_multi_cmp_cb() into channel_role_cmp_cb().
* Remove unnecessary usage of RAII_VAR().
Change-Id: I02c405518cab22aa2a082b61e2353bf7cd629a70
The AMI Status event had linkedid listed twice and was missing the
effective connected line name and number headers.
NOTE: The linkedid and other standard channel snapshot fields in the XML
documentation are part of the <channel_snapshot/> XML template defined in
doc/appdocsxml.xslt.
* Cached the effective connected line party id so it doesn't get
calculated four times.
Change-Id: I004c4c4f9e7b40ef55035c831702721bec82496c
* handle_dial_message: Missing a check for NULL peer.
* ast_cdr_register: Missing unlock on allocation failure.
ast_cdr_register is fixed by reordering so the new structure is
allocated and initialized before locking the list.
Change-Id: I5799b99270d1a7a716a555c31ac85f4b00ce8686
Some compiler optimizers seem to assume that dlopen will not use
__attribute__((constructor)) functions to call back to the program.
This was causing resource_being_loaded to be optimized away completely.
ASTERISK-27531 #close
Tested By: abelbeck
Change-Id: If17a3b889e06811a0e7119f0539d052494d6ece9
Fix instances of:
* Retreive
* Recieve
* other then
* different then
* Repeated words ("the the", "an an", "and and", etc).
* othterwise, teh
ASTERISK-24198 #close
Change-Id: I3809a9c113b92fd9d0d9f9bac98e9c66dc8b2d31
The bridge holds onto the old channel video source after it's been
released. This can lead to use after free errors.
ASTERISK-27229 #close
Change-Id: Ib2dab61677dd8a21f7ad53cdc9b8ca93297838b3
Apparently in OSX it's possible for OSX to HAVE_SYSCTL but not
HAVE_SYSINFO or HAVE_SWAPCTL. In this case freeswap caused an unused
variable error.
ASTERISK-26563 #close
Change-Id: I8ec5b1897b786cc1abaf62264aa75039eea05510
* listen uses the variable `s` for the result from ast_poll() then
overwrites it with the result of accept(). Create a separate variable
poll_result to avoid confusion since ast_poll does not return a file
descriptor.
* Resolve fd leak that would occur if setsockopt failed in listen.
* Reserve an extra byte while processing completion results from remote
daemon. This fixes a bug where completion processing used strstr() on
a string that was not '\0' terminated. This was no risk to the Asterisk
daemon, the bug was only reachable the remote console process.
* Resolve leak in handle_showchan when the channel is not found.
* Multiple leaks and a deadlock in pbx_config CLI completion.
* Fix leaks in "manager show command".
Change-Id: I8f633ceb1714867ae30ef4e421858f77c14485a9
When a channel that is on hold gets added to a bridge by
the Bridge AMI action or the dialplan application of the same name,
music continues to play, causing "robotic sound".
This commit adds a call to ast_moh_stop to stop the music.
Also, it makes the AMI Park action use the right MOH class when the
channel gets parked.
Reported by: Zane Conkle
ASTERISK-25079 #close
Change-Id: I4b129c5a20c15e63968842460ac5a1a85903cf9f
Some variables are set and never changed, making them constant. This
means that code in the 'false' block of the conditional is unreachable.
In chan_skinny and res_config_ldap I used preprocessor directive `#if 0`
as I'm unsure if the unreachable code could be enabled in the future.
Change-Id: I62e2aac353d739fb3c983cf768933120f5fba059
* Fix small leaks in from error condition in translate.c.
* Check new file descriptor is less than 0, not less than or equal.
Change-Id: Id7782775486175c739e0c4bf3ea5e17e3f452a99
* ast_linear_stream would leak a file descriptor if it failed to allocate
lin.
* ast_control_tone leaked zone and ts if ast_playtones_start failed.
Additionally added whitespace to ast_linear_stream, pulled assignments
out of conditionals for improved readability.
Change-Id: I6d1a10cf9161b1529d939b9b2d63ea36d395b657
The completion generator is missing a return so typing "core set debug
all off <tab>" causes the command to actually execute.
Change-Id: Ibf6462088a74eee66967732b50445783ebefc20b
This is needed for future changes which will require being able to
process the load priority out of order.
Change-Id: Ia23421197f09789940510b03ebbbf3bf24d51bea
* Split off load_dlopen to perform actual dlopen, check results and log
warnings when needed.
* Use flags which minimize number of calls to dlopen required. First
attempt always uses RTLD_GLOBAL when global_symbols_only is enabled,
RTLD_LOCAL when it is not.
This patch significantly reduces the number of dlopen's performed. With
299 modules my system ran dlopen 857 times before this patch, 655 times
after this patch.
Change-Id: Ib2c9903cfddcc01aed3e01c1e7fe4a3fb9af0f8b
This protects the module loader itself against crashing if dlopen is
called on a module from outside loader.c.
* Expand scope of lock inside ast_module_register to include reading of
resource_being_loaded.
* NULL check resource_being_loaded.
* Set resource_being_loaded NULL as soon as dlopen returns. This fixes
some error paths where it was not NULL'ed.
* Create module_destroy function to deduplicate code from
ast_module_unregister and modules_shutdown.
* Resolve leak that occured if a module did not successfully register.
* Simplify checking for successful registration.
Change-Id: I40f07a315e55b92df4fc7faf525ed6d4f396e7d2
Remove nearly all use of regex from ACO users. Still remaining:
* app_confbridge has a legitamate use of option name regex.
* ast_sorcery_object_fields_register is implemented with regex, all
callers use simple prefix based regex. I haven't decided the best
way to fix this in both 13/15 and master.
Change-Id: Ib5ed478218d8a661ace4d2eaaea98b59a897974b