[asterisk-commits] qwell: trunk r63104 - in /trunk: ./ res/res_jabber.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Fri May 4 13:06:03 MST 2007


Author: qwell
Date: Fri May  4 15:06:02 2007
New Revision: 63104

URL: http://svn.digium.com/view/asterisk?view=rev&rev=63104
Log:
Merged revisions 63099 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r63099 | qwell | 2007-05-04 15:03:49 -0500 (Fri, 04 May 2007) | 4 lines

Fix a crash when checking version attribute in an incoming XML caps element.

Issue 9667, patch by phsultan.

........

Modified:
    trunk/   (props changed)
    trunk/res/res_jabber.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/res/res_jabber.c
URL: http://svn.digium.com/view/asterisk/trunk/res/res_jabber.c?view=diff&rev=63104&r1=63103&r2=63104
==============================================================================
--- trunk/res/res_jabber.c (original)
+++ trunk/res/res_jabber.c Fri May  4 15:06:02 2007
@@ -160,7 +160,7 @@
 
 struct aji_client_container clients;
 
-struct aji_capabilities *capabilities;
+struct aji_capabilities *capabilities = NULL;
 
 /*! \brief Global flags, initialized to default values */
 static struct ast_flags globalflags = { AJI_AUTOPRUNE | AJI_AUTOREGISTER };
@@ -207,6 +207,15 @@
 	free(obj);
 }
 
+/*!
+ * \brief Find version in XML stream and populate our capabilities list
+ * \param node the node attribute in the caps element we'll look for or add to 
+ * our list
+ * \param version the version attribute in the caps element we'll look for or 
+ * add to our list
+ * \param pak the XML stanza we're processing
+ * \return a pointer to the added or found aji_version structure
+ */ 
 static struct aji_version *aji_find_version(char *node, char *version, ikspak *pak)
 {
 	struct aji_capabilities *list = NULL;
@@ -226,6 +235,8 @@
 					 return res;
 				 res = res->next;
 			}
+			/* Specified version not found. Let's add it to 
+			   this node in our capabilities list */
 			if(!res) {
 				res = (struct aji_version *)malloc(sizeof(struct aji_version));
 				if(!res) {
@@ -242,6 +253,7 @@
 		}
 		list = list->next;
 	}
+	/* Specified node not found. Let's add it our capabilities list */
 	if(!list) {
 		list = (struct aji_capabilities *)malloc(sizeof(struct aji_capabilities));
 		if(!list) {
@@ -257,7 +269,7 @@
 		ast_copy_string(res->version, version, sizeof(res->version));
 		res->jingle = 0;
 		res->parent = list;
-		res->next = list->versions;
+		res->next = NULL;
 		list->versions = res;
 		list->next = capabilities;
 		capabilities = list;



More information about the asterisk-commits mailing list