• Peter Wu's avatar
    switch_xml_set_attr: fix inconsistent state on error paths · b6831996
    Peter Wu 提交于
    Partially rewrite switch_xml_set_attr to fix memory leaks, uninitialized
    argument values and use-after free warnings from Clang static analyzer.
    
    Fixes these problems:
    
     - Add some comments and a new variable such that the code can more
       easily be audited / understood.
     - Always clear SWITCH_XML_DUP flag even if an error occurred to prevent
       free()'ing static strings on future invocations.
     - Keep the attribute list in a consistent state even if one of the
       memory allocation fails.
     - Keep allocation metadata in a consistent state when shrinking of the
       attribute lists fails. Previously the metadata was not updated,
       resulting in a wrong mapping from attributes to allocation flags.
     - Fix memory leaks when allocations fail.
    
    Previous behavior: invalid memory accesses are possible after a memory
    allocation failure, previous attributes may be lost.
    New behavior: attributes list is always valid, a new attribute is either
    set (or not), attributes can always be removed.
    b6831996
名称
最后提交
最后更新
build 正在载入提交数据...
clients/flex 正在载入提交数据...
cmake_modules 正在载入提交数据...
conf 正在载入提交数据...
debian 正在载入提交数据...
docs 正在载入提交数据...
dtd 正在载入提交数据...
fonts 正在载入提交数据...
fscomm 正在载入提交数据...
htdocs 正在载入提交数据...
html5/verto 正在载入提交数据...
images 正在载入提交数据...
libs 正在载入提交数据...
scripts 正在载入提交数据...
src 正在载入提交数据...
support-d 正在载入提交数据...
tests/unit 正在载入提交数据...
w32 正在载入提交数据...
web 正在载入提交数据...
yum 正在载入提交数据...
.clang-format 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.mailmap 正在载入提交数据...
Freeswitch.2015.sln 正在载入提交数据...
Freeswitch.2015.sln.bat 正在载入提交数据...
INSTALL 正在载入提交数据...
Makefile.am 正在载入提交数据...
acinclude.m4 正在载入提交数据...
bootstrap.sh 正在载入提交数据...
cc.sh 正在载入提交数据...
cluecon.tmpl 正在载入提交数据...
cluecon2.tmpl 正在载入提交数据...
cluecon2_small.tmpl 正在载入提交数据...
cluecon_small.tmpl 正在载入提交数据...
configure.ac 正在载入提交数据...
devel-bootstrap.sh 正在载入提交数据...
erlang.spec 正在载入提交数据...
freeswitch-config-rayo.spec 正在载入提交数据...
freeswitch-sounds-en-ca-june.spec 正在载入提交数据...
freeswitch-sounds-en-us-callie.spec 正在载入提交数据...
freeswitch-sounds-fr-ca-june.spec 正在载入提交数据...
freeswitch-sounds-music.spec 正在载入提交数据...
freeswitch-sounds-pt-BR-karina.spec 正在载入提交数据...
freeswitch-sounds-ru-RU-elena.spec 正在载入提交数据...
freeswitch-sounds-sv-se-jakob.spec 正在载入提交数据...
freeswitch.spec 正在载入提交数据...
swig_common.i 正在载入提交数据...