aboutsummaryrefslogtreecommitdiffstats
path: root/res/res_jabber.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-18 21:45:48 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-18 21:45:48 +0000
commit3b922d11ef4c3ac818cf16cae55e413793d1579b (patch)
tree3ece6bbbe253c1c5f4a1fdf1454567082be00134 /res/res_jabber.c
parent0851906c8321505334fdabd23e87812547dfe0ab (diff)
handle ast_calloc failure and tweak some formatting to comply with coding
guidelines (issue #7341, casper) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@34667 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_jabber.c')
-rw-r--r--res/res_jabber.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/res/res_jabber.c b/res/res_jabber.c
index b20899d74..aa0f856da 100644
--- a/res/res_jabber.c
+++ b/res/res_jabber.c
@@ -1031,22 +1031,24 @@ static void aji_handle_message(struct aji_client *client, ikspak *pak)
{
struct aji_message *insert, *tmp;
int flag = 0;
- insert = ast_calloc(1,sizeof(struct aji_message));
+
+ if (!(insert = ast_calloc(1, sizeof(struct aji_message))))
+ return;
time(&insert->arrived);
insert->message = ast_strdup(iks_find_cdata(pak->x, "body"));
ast_copy_string(insert->id, pak->id, sizeof(insert->message));
insert->from = ast_strdup(pak->from->full);
AST_LIST_LOCK(&client->messages);
AST_LIST_TRAVERSE_SAFE_BEGIN(&client->messages, tmp, list) {
- if(flag) {
- AST_LIST_REMOVE_CURRENT(&client->messages,list);
+ if (flag) {
+ AST_LIST_REMOVE_CURRENT(&client->messages, list);
if (tmp->from)
free(tmp->from);
if (tmp->message)
free(tmp->message);
} else if (difftime(time(NULL), tmp->arrived) >= client->message_timeout) {
flag = 1;
- AST_LIST_REMOVE_CURRENT(&client->messages,list);
+ AST_LIST_REMOVE_CURRENT(&client->messages, list);
if (tmp->from)
free(tmp->from);
if (tmp->message)
@@ -1054,9 +1056,10 @@ static void aji_handle_message(struct aji_client *client, ikspak *pak)
}
}
AST_LIST_TRAVERSE_SAFE_END;
- AST_LIST_INSERT_HEAD(&client->messages,insert,list);
+ AST_LIST_INSERT_HEAD(&client->messages, insert, list);
AST_LIST_UNLOCK(&client->messages);
}
+
static void aji_handle_presence(struct aji_client *client, ikspak *pak)
{
int status, priority;