diff options
author | Russell Bryant <russell@russellbryant.com> | 2006-01-21 17:50:04 +0000 |
---|---|---|
committer | Russell Bryant <russell@russellbryant.com> | 2006-01-21 17:50:04 +0000 |
commit | 9fa6eb5e07ad37d5a9043b5f4d23431d58c88325 (patch) | |
tree | a0057e266407ad019e0b495dd566584d47b50da5 /channels/chan_agent.c | |
parent | fbdc8ce317eacca50018748cb850ef317964af21 (diff) |
revert my pass through the tree to remove checks of the result of ast_strdupa
(revisions 8378 through 8381)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_agent.c')
-rw-r--r-- | channels/chan_agent.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 94a6965e4..68652b1e7 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -329,6 +329,10 @@ static struct agent_pvt *add_agent(char *agent, int pending) struct agent_pvt *p, *prev; parse = ast_strdupa(agent); + if (!parse) { + ast_log(LOG_ERROR, "Out of memory!\n"); + return NULL; + } /* Extract username (agt), password and name from agent (args). */ AST_NONSTANDARD_APP_ARGS(args, parse, ','); @@ -1763,7 +1767,11 @@ static int __login_exec(struct ast_channel *chan, void *data, int callbackmode) LOCAL_USER_ADD(u); - parse = ast_strdupa(data); + if (!(parse = ast_strdupa(data))) { + ast_log(LOG_ERROR, "Out of memory!\n"); + LOCAL_USER_REMOVE(u); + return -1; + } AST_STANDARD_APP_ARGS(args, parse); @@ -2503,6 +2511,10 @@ static char *function_agent(struct ast_channel *chan, char *cmd, char *data, cha } item = ast_strdupa(data); + if (!item) { + ast_log(LOG_ERROR, "Out of memory!\n"); + return buf; + } agentid = strsep(&item, ":"); if (!item) |