aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_while.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_while.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_while.c')
-rw-r--r--apps/app_while.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/app_while.c b/apps/app_while.c
index df2fb97e6..1ebd8f2b3 100644
--- a/apps/app_while.c
+++ b/apps/app_while.c
@@ -90,6 +90,11 @@ static int execif_exec(struct ast_channel *chan, void *data) {
LOCAL_USER_ADD(u);
expr = ast_strdupa(data);
+ if (!expr) {
+ ast_log(LOG_ERROR, "Out of memory\n");
+ LOCAL_USER_REMOVE(u);
+ return -1;
+ }
if ((myapp = strchr(expr,'|'))) {
*myapp = '\0';
@@ -239,8 +244,9 @@ static int _while_exec(struct ast_channel *chan, void *data, int end)
snprintf(used_index, VAR_SIZE, "%d", used_index_i);
snprintf(new_index, VAR_SIZE, "%d", used_index_i + 1);
- if (!end)
- condition = ast_strdupa(data);
+ if (!end) {
+ condition = ast_strdupa((char *) data);
+ }
size = strlen(chan->context) + strlen(chan->exten) + 32;
my_name = alloca(size);