From: Tilghman Lesher Date: Fri, 18 Apr 2008 06:49:16 +0000 (+0000) Subject: For consistency sake, ensure that the values that ${CALLINGPRES} returns are valid... X-Git-Tag: 1.4.20-rc1~46 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9f6634f7c1df1bc940daecabe171abed20edb504;p=thirdparty%2Fasterisk.git For consistency sake, ensure that the values that ${CALLINGPRES} returns are valid as an input to SetCallingPres. (Closes issue #12472) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114242 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_setcallerid.c b/apps/app_setcallerid.c index 4456e1ee02..fb060f11b0 100644 --- a/apps/app_setcallerid.c +++ b/apps/app_setcallerid.c @@ -70,8 +70,11 @@ static int setcallerid_pres_exec(struct ast_channel *chan, void *data) int pres = -1; u = ast_module_user_add(chan); - - pres = ast_parse_caller_presentation(data); + + /* For interface consistency, permit the argument to be specified as a number */ + if (sscanf(data, "%d", &pres) != 1 || pres < 0 || pres > 255 || (pres & 0x9c)) { + pres = ast_parse_caller_presentation(data); + } if (pres < 0) { ast_log(LOG_WARNING, "'%s' is not a valid presentation (see 'show application SetCallerPres')\n",