diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-21 17:50:04 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-01-21 17:50:04 +0000 |
commit | b14bdc5a1211fa53add7d87b9444b56576d6d2d8 (patch) | |
tree | a0057e266407ad019e0b495dd566584d47b50da5 /apps/app_verbose.c | |
parent | 52fb5814943bd6d7d314d8f88dbd71b2c8d61c24 (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.c | 57 |
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(<ext, "|"); |