aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_verbose.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-21 17:50:04 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-21 17:50:04 +0000
commitb14bdc5a1211fa53add7d87b9444b56576d6d2d8 (patch)
treea0057e266407ad019e0b495dd566584d47b50da5 /apps/app_verbose.c
parent52fb5814943bd6d7d314d8f88dbd71b2c8d61c24 (diff)
revert my pass through the tree to remove checks of the result of ast_strdupa
(revisions 8378 through 8381) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@8387 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_verbose.c')
-rw-r--r--apps/app_verbose.c57
1 files changed, 33 insertions, 24 deletions
diff --git a/apps/app_verbose.c b/apps/app_verbose.c
index 4b7a54b0e..4ec4839d7 100644
--- a/apps/app_verbose.c
+++ b/apps/app_verbose.c
@@ -67,34 +67,38 @@ static int verbose_exec(struct ast_channel *chan, void *data)
LOCAL_USER_ADD(u);
if (data) {
- vtext = ast_strdupa(data);
- char *tmp = strsep(&vtext, "|,");
+ vtext = ast_strdupa((char *)data);
if (vtext) {
- if (sscanf(tmp, "%d", &vsize) != 1) {
+ char *tmp = strsep(&vtext, "|,");
+ if (vtext) {
+ if (sscanf(tmp, "%d", &vsize) != 1) {
+ vsize = 0;
+ ast_log(LOG_WARNING, "'%s' is not a verboser number\n", vtext);
+ }
+ } else {
+ vtext = tmp;
vsize = 0;
- ast_log(LOG_WARNING, "'%s' is not a verboser number\n", vtext);
}
- } else {
- vtext = tmp;
- vsize = 0;
- }
- if (option_verbose >= vsize) {
- switch (vsize) {
- case 0:
- ast_verbose("%s\n", vtext);
- break;
- case 1:
- ast_verbose(VERBOSE_PREFIX_1 "%s\n", vtext);
- break;
- case 2:
- ast_verbose(VERBOSE_PREFIX_2 "%s\n", vtext);
- break;
- case 3:
- ast_verbose(VERBOSE_PREFIX_3 "%s\n", vtext);
- break;
- default:
- ast_verbose(VERBOSE_PREFIX_4 "%s\n", vtext);
+ if (option_verbose >= vsize) {
+ switch (vsize) {
+ case 0:
+ ast_verbose("%s\n", vtext);
+ break;
+ case 1:
+ ast_verbose(VERBOSE_PREFIX_1 "%s\n", vtext);
+ break;
+ case 2:
+ ast_verbose(VERBOSE_PREFIX_2 "%s\n", vtext);
+ break;
+ case 3:
+ ast_verbose(VERBOSE_PREFIX_3 "%s\n", vtext);
+ break;
+ default:
+ ast_verbose(VERBOSE_PREFIX_4 "%s\n", vtext);
+ }
}
+ } else {
+ ast_log(LOG_ERROR, "Out of memory\n");
}
}
@@ -117,6 +121,11 @@ static int log_exec(struct ast_channel *chan, void *data)
}
ltext = ast_strdupa(data);
+ if (!ltext) {
+ ast_log(LOG_ERROR, "Out of memory\n");
+ LOCAL_USER_REMOVE(u);
+ return 0;
+ }
level = strsep(&ltext, "|");