comparison libpurple/xmlnode.c @ 31720:979bab4c3bca

jabber: Check for empty string when setting mood. The xmlnode API didn't check for the empty string ("") as node name, which leads to...broken XML. I added those checks to xmlnode, and fixed this occurrence in usermood. Fixes #14342
author Paul Aurich <paul@darkrain42.org>
date Mon, 27 Jun 2011 05:24:53 +0000
parents c9244d8303ce
children 67addaf8677f 3828a61c44da
comparison
equal deleted inserted replaced
31719:e0856c50cdd8 31720:979bab4c3bca
60 } 60 }
61 61
62 xmlnode* 62 xmlnode*
63 xmlnode_new(const char *name) 63 xmlnode_new(const char *name)
64 { 64 {
65 g_return_val_if_fail(name != NULL, NULL); 65 g_return_val_if_fail(name != NULL && *name != '\0', NULL);
66 66
67 return new_node(name, XMLNODE_TYPE_TAG); 67 return new_node(name, XMLNODE_TYPE_TAG);
68 } 68 }
69 69
70 xmlnode * 70 xmlnode *
71 xmlnode_new_child(xmlnode *parent, const char *name) 71 xmlnode_new_child(xmlnode *parent, const char *name)
72 { 72 {
73 xmlnode *node; 73 xmlnode *node;
74 74
75 g_return_val_if_fail(parent != NULL, NULL); 75 g_return_val_if_fail(parent != NULL, NULL);
76 g_return_val_if_fail(name != NULL, NULL); 76 g_return_val_if_fail(name != NULL && *name != '\0', NULL);
77 77
78 node = new_node(name, XMLNODE_TYPE_TAG); 78 node = new_node(name, XMLNODE_TYPE_TAG);
79 79
80 xmlnode_insert_child(parent, node); 80 xmlnode_insert_child(parent, node);
81 81