[asterisk-bugs] [JIRA] (ASTERISK-29614) app_agent_pool: XML Doc: unterminated entity reference

Alexander Traud (JIRA) noreply at issues.asterisk.org
Wed Aug 25 04:56:34 CDT 2021


Alexander Traud created ASTERISK-29614:
------------------------------------------

             Summary: app_agent_pool: XML Doc: unterminated entity reference
                 Key: ASTERISK-29614
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29614
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Applications/app_agent_pool, Documentation
    Affects Versions: 18.6.0, 16.20.0, 13.38.3, 19.0.0
         Environment: Ubuntu 18.04 LTS
./configure --enable-xmldoc, which is the default
make all or make full, does not matter
            Reporter: Alexander Traud
            Severity: Major


This issue seems not to be of constant occurrence. Furthermore, I was not able to find any reports about this except several failed builds in Gerrit. Perhaps those are related but I did not investigated those further, yet. 

Currently, I am able to replicate it quite constant and was able to investigate a bit with GDB. However, I am reporting early in my analysis, perhaps somebody sees the culprit faster.

*My symptom*:
{code} Loading app_agent_pool.so.
  == Manager registered action Agents
  == Manager registered action AgentLogoff
  == Registered custom function 'AGENT'
  == Registered application 'AgentLogin'
  == Registered application 'AgentRequest'
error : unterminated entity reference            ���
  == app_agent_pool.so => (Call center agent pool applications){code}*My call stack*:
apps/app_agent_pool.c
⤷ load_module
   ⤷ load_config
      ⤷ aco_info_init
         ⤷ type = agent_type (the second type from {{app_agent_pool}}, the one after the {{general_type}})
            ⤷ xmldoc_update_config_type in file main/xml.c
               ⤷ ast_xml_set_text
                  ⤷ xmlNodeSetContent

That error is not printed, when I remove _all_ categories except the terminating NULL, in the file {{apps/app_agent_pool.c}}, in the string array {{agent_type_blacklist}}. That error is not printed, when I comment/disable at least four of the eight {{aco_option_register}} in {{load_config}}.

This looks like a memory corruption, because even when that error is not printed, on the command-line interface (CLI), I am not able to issue {{xmldoc dump <file>}} when the module {{app_agent_pool}} is loaded. I get errors like {{output error : string is not in UTF-8}} or {{xmlEscapeEntities : char out of range}}.

*Workarounds*:
a) {{./configure --disable-xmldoc}} or
b) disable the module {{app_agent_pool}} via {{make menuselect}} or
c) noload the module {{app_agent_pool}} via the configuration file {{modules.conf}} or
d) change the string array {{agent_type_blacklist}} to contain just the terminating {{NULL}} value



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list