slight correction to options parsing
authorKevin P. Fleming <kpfleming@digium.com>
Thu, 10 Nov 2005 23:18:03 +0000 (23:18 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Thu, 10 Nov 2005 23:18:03 +0000 (23:18 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7052 65c4cc65-6c06-0410-ace0-fbb531ad65f3

ChangeLog
app.c

index b7b4f22..27b3230 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,10 +1,12 @@
 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
 
 2005-11-10  Kevin P. Fleming  <kpfleming@digium.com>
 
+       * app.c (ast_app_parse_options): don't increment 's' until after checking for NULL (related to issue #5630)
+
        * apps/app_rpt.c: solve a memory leak (config structure was not freed) (issue #5706
 
 2005-11-10  Russell Bryant <russell@digium.com>
 
        * apps/app_rpt.c: solve a memory leak (config structure was not freed) (issue #5706
 
 2005-11-10  Russell Bryant <russell@digium.com>
 
-       * app.c (ast_app_separate_args): Don't consider the open parenthesis as part of the arguments to an option.
+       * app.c (ast_app_separate_args): Don't consider the open parenthesis as part of the arguments to an option. (issue #5630)
        * many files: Change all references to ast_separate_app_args to ast_app_separate_args
        * many files in apps/: Clean up some application descriptions. Make sure all descriptions in changed files are wrapped at 80 characters.
 
        * many files: Change all references to ast_separate_app_args to ast_app_separate_args
        * many files in apps/: Clean up some application descriptions. Make sure all descriptions in changed files are wrapped at 80 characters.
 
diff --git a/app.c b/app.c
index 63beed1..bcb5c22 100755 (executable)
--- a/app.c
+++ b/app.c
@@ -1544,7 +1544,7 @@ int ast_app_parse_options(const struct ast_app_option *options, struct ast_flags
                if (*s == '(') {
                        /* Has argument */
                        arg = ++s;
                if (*s == '(') {
                        /* Has argument */
                        arg = ++s;
-                       while (*++s && (*s != ')'));
+                       while (*s && (*s++ != ')'));
                        if (*s) {
                                if (argloc)
                                        args[argloc - 1] = arg;
                        if (*s) {
                                if (argloc)
                                        args[argloc - 1] = arg;