comparison libpurple/protocols/yahoo/libymsg.c @ 28642:4bf9579328f0

Don't free what you don't own.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 18 Sep 2009 19:52:23 +0000
parents 154b4042d8cf
children a177a1cdfe4e 60e4ef6801ff b1284d63b969
comparison
equal deleted inserted replaced
28641:154b4042d8cf 28642:4bf9579328f0
4147 const gchar *webdata, size_t len, const gchar *error_message) 4147 const gchar *webdata, size_t len, const gchar *error_message)
4148 { 4148 {
4149 struct yahoo_sms_carrier_cb_data *sms_cb_data = user_data; 4149 struct yahoo_sms_carrier_cb_data *sms_cb_data = user_data;
4150 PurpleConnection *gc = sms_cb_data->gc; 4150 PurpleConnection *gc = sms_cb_data->gc;
4151 YahooData *yd = gc->proto_data; 4151 YahooData *yd = gc->proto_data;
4152 char *mobile_no = NULL;
4153 char *status = NULL; 4152 char *status = NULL;
4154 char *carrier = NULL; 4153 char *carrier = NULL;
4155 PurpleAccount *account = purple_connection_get_account(gc); 4154 PurpleAccount *account = purple_connection_get_account(gc);
4156 PurpleConversation *conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, sms_cb_data->who, account); 4155 PurpleConversation *conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, sms_cb_data->who, account);
4157 4156
4164 return ; 4163 return ;
4165 } 4164 }
4166 else if (len > 0 && webdata && *webdata) { 4165 else if (len > 0 && webdata && *webdata) {
4167 xmlnode *validate_data_root = xmlnode_from_str(webdata, -1); 4166 xmlnode *validate_data_root = xmlnode_from_str(webdata, -1);
4168 xmlnode *validate_data_child = xmlnode_get_child(validate_data_root, "mobile_no"); 4167 xmlnode *validate_data_child = xmlnode_get_child(validate_data_root, "mobile_no");
4169 mobile_no = (char *)xmlnode_get_attrib(validate_data_child, "msisdn"); 4168 const char *mobile_no = xmlnode_get_attrib(validate_data_child, "msisdn");
4170 4169
4171 validate_data_root = xmlnode_copy(validate_data_child); 4170 validate_data_root = xmlnode_copy(validate_data_child);
4172 validate_data_child = xmlnode_get_child(validate_data_root, "status"); 4171 validate_data_child = xmlnode_get_child(validate_data_root, "status");
4173 status = xmlnode_get_data(validate_data_child); 4172 status = xmlnode_get_data(validate_data_child);
4174 4173
4189 xmlnode_free(validate_data_child); 4188 xmlnode_free(validate_data_child);
4190 xmlnode_free(validate_data_root); 4189 xmlnode_free(validate_data_root);
4191 g_free(sms_cb_data->who); 4190 g_free(sms_cb_data->who);
4192 g_free(sms_cb_data->what); 4191 g_free(sms_cb_data->what);
4193 g_free(sms_cb_data); 4192 g_free(sms_cb_data);
4194 g_free(mobile_no);
4195 g_free(status); 4193 g_free(status);
4196 g_free(carrier); 4194 g_free(carrier);
4197 } 4195 }
4198 } 4196 }
4199 4197