]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Don't explode if the gain option is specified without a value. (issue #9274 reported...
authorJoshua Colp <jcolp@digium.com>
Thu, 21 Jun 2007 21:37:55 +0000 (21:37 +0000)
committerJoshua Colp <jcolp@digium.com>
Thu, 21 Jun 2007 21:37:55 +0000 (21:37 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@70898 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_voicemail.c

index ce6cad0bf207ae38cfa292dcb6eb07133a82937c..e4dcce86fb950d072cea87a8992ce109d5fadbdc 100644 (file)
@@ -5179,7 +5179,11 @@ static int vm_execmain(struct ast_channel *chan, void *data)
                        if (ast_test_flag(&flags, OPT_RECORDGAIN)) {
                                int gain;
 
-                               if (sscanf(opts[OPT_ARG_RECORDGAIN], "%d", &gain) != 1) {
+                               if (ast_strlen_zero(opts[OPT_ARG_RECORDGAIN])) {
+                                       ast_log(LOG_WARNING, "No value provided for record gain option\n");
+                                       LOCAL_USER_REMOVE(u);
+                                       return -1;
+                               } else if (sscanf(opts[OPT_ARG_RECORDGAIN], "%d", &gain) != 1) {
                                        ast_log(LOG_WARNING, "Invalid value '%s' provided for record gain option\n", opts[OPT_ARG_RECORDGAIN]);
                                        LOCAL_USER_REMOVE(u);
                                        return -1;