Properly check for reason node in stream errors.
--- a/loudmouth/lm-connection.c Tue Feb 05 23:35:45 2008 +0100
+++ b/loudmouth/lm-connection.c Tue Feb 05 23:57:32 2008 +0100
@@ -777,7 +777,7 @@
static void
connection_stream_error (LmConnection *connection, LmMessage *m)
{
- LmMessageNode *node;
+ LmMessageNode *node, *reason_node;
LmDisconnectReason reason;
g_return_if_fail (connection != NULL);
@@ -786,16 +786,16 @@
node = m->node;
/* Resource conflict */
- node = lm_message_node_get_child (node, "conflict");
- if (node) {
+ reason_node = lm_message_node_get_child (node, "conflict");
+ if (reason_node) {
lm_verbose ("Stream error: Conflict (resource connected elsewhere)\n");
reason = LM_DISCONNECT_REASON_RESOURCE_CONFLICT;
return;
}
/* XML is crack */
- node = lm_message_node_get_child (node, "xml-not-well-formed");
- if (node) {
+ reason_node = lm_message_node_get_child (node, "xml-not-well-formed");
+ if (reason_node) {
lm_verbose ("Stream error: XML not well formed\n");
reason = LM_DISCONNECT_REASON_INVALID_XML;
return;