res_config_odbc: Fix old and new ast_string_field memory leaks.
authorWalter Doekes <walter+asterisk@wjd.nu>
Tue, 27 May 2014 20:03:00 +0000 (20:03 +0000)
committerWalter Doekes <walter+asterisk@wjd.nu>
Tue, 27 May 2014 20:03:00 +0000 (20:03 +0000)
commitb14a4389e685e34ee1ebcd41316c1c4ddac03404
treec81947c6842ecd18fb3427414b64b83e229449e8
parent09bbfa76ab589a440d954b29b2facc32e0d22248
res_config_odbc: Fix old and new ast_string_field memory leaks.

The ODBC realtime driver uses ^NN parameter encoding to cope with the
special meaning of the semi-colon. A semi-colon in a field is
interpreted as if the key was supplied twice, something which isn't
otherwise possible with fixed database columns. E.g. allow=alaw;ulaw
is parsed as allow=alaw and allow=ulaw. A literal semi-colon is
rewritten to ^3B when stored in the database.

The module uses a stringfield to efficiently store the encoded
parameters. However, this stringfield wasn't always freed in some
off-nominal cases.

Commit r413241 fixed initialization so the encoding for INSERT and
DELETE queries wouldn't crash. (Only SELECTs and UPDATEs worked
apparently.) But that commit forgot the frees. This change cleans
that up.

Review: https://reviewboard.asterisk.org/r/3555/
........

Merged revisions 414564 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 414565 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 414566 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@414567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
res/res_config_odbc.c