comparison libpurple/protocols/msn/directconn.c @ 30508:e432507151d1

NULL-ify some reverse links so that there's no double-free on exit.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sun, 23 May 2010 21:45:19 +0000
parents 3dac28d77320
children 7f564cf26ea3 a99b6dcdb60d
comparison
equal deleted inserted replaced
30507:a4527d9ee853 30508:e432507151d1
167 if (purple_debug_is_verbose()) 167 if (purple_debug_is_verbose())
168 purple_debug_info("msn", "msn_dc_destroy %p\n", dc); 168 purple_debug_info("msn", "msn_dc_destroy %p\n", dc);
169 169
170 g_return_if_fail(dc != NULL); 170 g_return_if_fail(dc != NULL);
171 171
172 slplink = dc->slplink;
173
174 if (dc->slpcall != NULL) 172 if (dc->slpcall != NULL)
175 dc->slpcall->wait_for_socket = FALSE; 173 dc->slpcall->wait_for_socket = FALSE;
176 174
177 slplink->dc = NULL; 175 slplink = dc->slplink;
178 176 if (slplink) {
179 if (slplink->swboard == NULL) 177 slplink->dc = NULL;
180 msn_slplink_destroy(slplink); 178 if (slplink->swboard == NULL)
179 msn_slplink_destroy(slplink);
180 }
181 181
182 g_free(dc->msg_body); 182 g_free(dc->msg_body);
183 183
184 if (dc->prev_ack) { 184 if (dc->prev_ack) {
185 msn_slpmsg_destroy(dc->prev_ack); 185 msn_slpmsg_destroy(dc->prev_ack);