Review Board 1.7.16


va_args cleanup in res_config_odbc, res_config_curl, utils, and also res_config_pgsql

Review Request #1848 - Created April 5, 2012 and submitted

Jonathan Rose
1.8
ASTERISK-19451
Reviewers
asterisk-dev
mjordan, mmichelson, wdoekes
Asterisk
A number of va_copy operations weren't matched with a corresponding va_end in res_config_odbc. Also, there was a potential for va_end to be invoked twice on the same va_arg in utils, which would mean invoking va_end on an undefined variable... which is bad.

va_end is removed from various functions in config_pgsql and config_curl since they aren't making their own copy.  The invokers of those functions are responsible for calling va_end on them.
None to speak of.  It compiles, but I'm really not sure how to check for va_arg leaks and such.  I'm not too worried about res_config_odbc and utils since those changes are pretty self-contained. The other changes should be fine too since the paramater ap in res_config_odbc isn't ended in any of the adapter functions there. I'm a little wary though that they should be copying to a new va_arg list instead like res_config_odbc does.

Changes between revision 1 and 2

1 2
1 2

  1. /branches/1.8/main/utils.c: Loading...
  2. /branches/1.8/res/res_config_curl.c: Loading...
  3. /branches/1.8/res/res_config_odbc.c: Loading...
  4. /branches/1.8/res/res_config_pgsql.c: Loading...
/branches/1.8/res/res_config_curl.c
Diff Revision 1 Diff Revision 2
 
/branches/1.8/res/res_config_odbc.c
Diff Revision 1 Diff Revision 2
 
/branches/1.8/res/res_config_pgsql.c
Diff Revision 1 Diff Revision 2
 
  1. /branches/1.8/main/utils.c: Loading...
  2. /branches/1.8/res/res_config_curl.c: Loading...
  3. /branches/1.8/res/res_config_odbc.c: Loading...
  4. /branches/1.8/res/res_config_pgsql.c: Loading...

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.