pjsua2 account::modify memory corruption

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

If we call Account::modify with AccountMediaConfig.TransportConfig.publicAddress unchanged - the account will be corrupted. That's because pjsua will not make a copy of the new string:

    if (pj_stricmp(&acc->cfg.rtp_cfg.public_addr, &cfg->rtp_cfg.public_addr) ||
                pj_stricmp(&acc->cfg.rtp_cfg.bound_addr, &cfg->rtp_cfg.bound_addr))
    {
                pjsua_transport_config_dup(acc->pool, &acc->cfg.rtp_cfg,
                                                                   &cfg->rtp_cfg);
    } else {
                /* ..to save memory by not using the pool */
                acc->cfg.rtp_cfg =  cfg->rtp_cfg;
    }


thus after leaving Account::modify the pointer in acc->cfg.rtp_cfg.public_addr will be no longer valid/corrupted.


Thanks


Please consider the environment before printing this email
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20140926/0dea88d7/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux