diff --git a/apps/app_read.c b/apps/app_read.c index 977b20dc2956402900c845b41e06a711b75c10d9..f4a965c8b46d36b64772a2803f4e677467b20d44 100644 --- a/apps/app_read.c +++ b/apps/app_read.c @@ -250,7 +250,7 @@ static int read_exec(struct ast_channel *chan, const char *data) break; } tmp[x++] = res; - if (strchr(terminator, tmp[x-1])) { + if (terminator && strchr(terminator, tmp[x-1])) { tmp[x-1] = '\0'; status = "OK"; break; diff --git a/main/app.c b/main/app.c index f5fbffd7f7eef7d61950d4ad6d2ccdb92df16d4b..411d5077b05f202b7f74e9d2f0ef39c81897fc11 100644 --- a/main/app.c +++ b/main/app.c @@ -249,7 +249,7 @@ enum ast_getdata_result ast_app_getdata_terminator(struct ast_channel *c, const fto = 50; to = ast_channel_pbx(c) ? ast_channel_pbx(c)->dtimeoutms : 2000; } - res = ast_readstring(c, s, maxlen, to, fto, S_OR(terminator, "#")); + res = ast_readstring(c, s, maxlen, to, fto, (terminator ? terminator : "#")); if (res == AST_GETDATA_EMPTY_END_TERMINATED) { return res; }