----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4132/#review13637 -----------------------------------------------------------
branches/13/main/config.c <https://reviewboard.asterisk.org/r/4132/#comment24148> Memory from alloca is stack allocated (gets freed at function end), so when used in a loop there is a potential for a stack overflow. You might be able to replace it with a variable length array as I *think* those are scope de-allocated (might be platorm/compiler dependent though). branches/13/pbx/pbx_config.c <https://reviewboard.asterisk.org/r/4132/#comment24149> Same alloca problem here. branches/13/pbx/pbx_config.c <https://reviewboard.asterisk.org/r/4132/#comment24150> Another alloca problem. - Kevin Harwell On Oct. 30, 2014, 4:35 p.m., George Joseph wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/4132/ > ----------------------------------------------------------- > > (Updated Oct. 30, 2014, 4:35 p.m.) > > > Review request for Asterisk Developers and Birger Harzenetter. > > > Bugs: ASTERISK-20127 > https://issues.asterisk.org/jira/browse/ASTERISK-20127 > > > Repository: Asterisk > > > Description > ------- > > I've been locally patching for this issue for 2 years but now someone else > (WIMPy) has run into the same problem. > > When a config file is read, an unescaped semicolon signals comments which are > stripped from the value before it's stored. Escaped semicolons are then > unescaped and become part of the value. Both of these behaviors are normal > and expected. When the config is serialized either by 'dialplan save' or > AMI/UpdateConfig however, the now unescaped semicolons are written as-is. If > you actually reload the file just saved, the unescaped semicolons are now > treated as start of comments. > > Example: > > Lines such as > PAGING_HEADER = Call-Info: \;answer-after=0 > are being rewritten as > PAGING_HEADER = Call-Info: ;answer-after=0 > > On re-read, everything after the now-unescaped semicolon is read as a comment > with the result that the file is effectively corrupted. > > So... Since true comments are stripped on read, any semicolons in > ast_variable.value must have been escaped originally. This patch re-escapes > semicolons in ast_variable.values before they're written to file either by > 'dialplan save' or config/ast_config_text_file_save which is called by > AMI/UpdateConfig. I also fixed a few pre-existing formatting issues nearby in > pbx_config.c > > This patch is for 13 but it will be applied to 1.8 -> trunk. > > > Diffs > ----- > > branches/13/tests/test_strings.c 426754 > branches/13/pbx/pbx_config.c 426754 > branches/13/main/utils.c 426754 > branches/13/main/config.c 426754 > branches/13/include/asterisk/utils.h 426754 > > Diff: https://reviewboard.asterisk.org/r/4132/diff/ > > > Testing > ------- > > Testsuite results before and after match. > tests/manager/config will be updated to test escaped semicolons. > A new testsuite test will be written to test dialplan save. > > > Thanks, > > George Joseph > >
-- _____________________________________________________________________ -- 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
