From: Joshua Colp Date: Thu, 21 Jun 2007 21:37:55 +0000 (+0000) Subject: Don't explode if the gain option is specified without a value. (issue #9274 reported... X-Git-Tag: 1.2.20~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e179ccaff24cf40afc236725f56291d65d4e1a54;p=thirdparty%2Fasterisk.git Don't explode if the gain option is specified without a value. (issue #9274 reported by mfarver) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@70898 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index ce6cad0bf2..e4dcce86fb 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -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;