----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/3985/#review13269 -----------------------------------------------------------
/branches/12/main/config.c <https://reviewboard.asterisk.org/r/3985/#comment23754> It's still possible for this to occur under extreme circumstances (out of memory). - Joshua Colp On Sept. 9, 2014, 5:04 p.m., Jonathan Rose wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/3985/ > ----------------------------------------------------------- > > (Updated Sept. 9, 2014, 5:04 p.m.) > > > Review request for Asterisk Developers. > > > Bugs: ASTERISK-24231 > https://issues.asterisk.org/jira/browse/ASTERISK-24231 > > > Repository: Asterisk > > > Description > ------- > > Attempting to use the following CLI command would cause a crash (regardless > of whether a realtime database were in any way configured) > > realtime destroy (any table) field1 value1 > > This was due to attempting to create a variable list from a NULL name since > we sent an empty va list to a function that creates variable lists from va > lists. > > I've changed that function to be tolerant of empty va lists and I've changed > the ast_realtime_destroy function to go ahead and call the realtime engine > destroy functions even if the variable list that it gets back from that > function is NULL. > > > Diffs > ----- > > /branches/12/main/config.c 422869 > > Diff: https://reviewboard.asterisk.org/r/3985/diff/ > > > Testing > ------- > > I tested the changes against both a postgres database connected via > res_config_pgsql and a mysql database connected via res_config_odbc. Of the > two, res_config_odbc appeared to be the more likely source of trouble since > it might use the variable list for something other than just iteration. It > appears to set a string field to the variable list for whatever reason... in > any event, both appeared to work fine and I didn't notice anything out of the > ordinary happening due to deallocation or anything. > > I went ahead and checked all the other realtime engines to make sure their > destroy functions looked like they would be compatible with NULL variable > lists as well and they all checked out... they just add entries by iterating > along the list and if it's NULL it just won't enter the loop in each case. > > > Thanks, > > Jonathan Rose > >
-- _____________________________________________________________________ -- 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