realtime: Fix ast_update2_realtime() on raspberry pi.
authorWalter Doekes <walter+asterisk@wjd.nu>
Wed, 12 Feb 2014 08:25:02 +0000 (08:25 +0000)
committerWalter Doekes <walter+asterisk@wjd.nu>
Wed, 12 Feb 2014 08:25:02 +0000 (08:25 +0000)
commit55ee292d454df4346c5edeac57b8955752be7b10
treedb79c0a47afd44ab643e5a8dbb4df3a0362a59f1
parent6bdf2c4eab6524f85fa2245b9d796f5f4c46911a
realtime: Fix ast_update2_realtime() on raspberry pi.

The old code depended on undefined va_arg behaviour: calling a function
twice with the same va_list parameter and expecting it to continue where
it left off. The changed code behaves like the manpage says it should.

Also added a bunch of early returns to trap errors (e.g. OOM) instead of
crashing.

The problem was found by Julian Lyndon-Smith. The deviant behaviour on
the raspberry PI also uncovered another bug (fixed in r407875) in the
res_config_pgsql.so driver.

Reported by: jmls
Tested by: jmls
Review: https://reviewboard.asterisk.org/r/3201/
........

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@407970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/config.c