diff --git a/pbx.c b/pbx.c index 8ccd3f5290aa8d3b22c3c546b79bb6a0031c10b9..4662d79c2ad25658cfe678f7e6aa82e73fd6eac5 100644 --- a/pbx.c +++ b/pbx.c @@ -4950,8 +4950,8 @@ static int pbx_builtin_wait(struct ast_channel *chan, void *data) int ms; /* Wait for "n" seconds */ - if (data && atof(data)) { - ms = atof(data) * 1000; + if (data && (ms = atof(data)) > 0) { + ms *= 1000; return ast_safe_sleep(chan, ms); } return 0; @@ -4985,8 +4985,8 @@ static int pbx_builtin_waitexten(struct ast_channel *chan, void *data) ast_moh_start(chan, opts[0]); /* Wait for "n" seconds */ - if (args.timeout && atof(args.timeout)) - ms = atof(args.timeout) * 1000; + if (args.timeout && (ms = atof(args.timeout)) > 0) + ms *= 1000; else if (chan->pbx) ms = chan->pbx->rtimeout * 1000; else