As it turned out, this wasn't a huge deal. We were calling
ast_app_parse_options() for a set of options of which none
took arguments. The proper thing to do for this case is to
pass NULL for the "args" parameter here. We were instead passing
a seemingly-randomly chosen char * from the function. While this
would never get written to, you can rest assured things would
have gotten bad had new options (which took arguments) been added
to func_volume.
(closes issue ASTERISK-19656)
........
Merged revisions 364899 from http://svn.asterisk.org/svn/asterisk/branches/1.8
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@364900
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
if (!ast_strlen_zero(args.options)) {
struct ast_flags flags = { 0 };
- ast_app_parse_options(volume_opts, &flags, &data, args.options);
+ ast_app_parse_options(volume_opts, &flags, NULL, args.options);
vi->flags = flags.flags;
} else {
vi->flags = 0;