# HG changeset patch # User Elliott Sales de Andrade # Date 1262234735 0 # Node ID d3298d8f67ddec60286f56b326a7cc0a43efc4cd # Parent 091797665df5672158c8d844518f43ddb4f2ce55 Using 'if (img==NULL) return;' fails to clean up properly, so invert the logic of that section. diff -r 091797665df5 -r d3298d8f67dd libpurple/protocols/msn/slp.c --- a/libpurple/protocols/msn/slp.c Thu Dec 31 04:13:55 2009 +0000 +++ b/libpurple/protocols/msn/slp.c Thu Dec 31 04:45:35 2009 +0000 @@ -325,30 +325,29 @@ } msn_object_destroy(obj); - if (img == NULL) - { - purple_debug_error("msn", "Wrong object.\n"); - return; - } + if (img != NULL) { + /* DATA PREP */ + slpmsg = msn_slpmsg_new(slplink); + slpmsg->slpcall = slpcall; + slpmsg->session_id = slpcall->session_id; + msn_slpmsg_set_body(slpmsg, NULL, 4); + slpmsg->info = "SLP DATA PREP"; + msn_slplink_queue_slpmsg(slplink, slpmsg); - /* DATA PREP */ - slpmsg = msn_slpmsg_new(slplink); - slpmsg->slpcall = slpcall; - slpmsg->session_id = slpcall->session_id; - msn_slpmsg_set_body(slpmsg, NULL, 4); - slpmsg->info = "SLP DATA PREP"; - msn_slplink_queue_slpmsg(slplink, slpmsg); + /* DATA */ + slpmsg = msn_slpmsg_new(slplink); + slpmsg->slpcall = slpcall; + slpmsg->flags = 0x20; + slpmsg->info = "SLP DATA"; + msn_slpmsg_set_image(slpmsg, img); + msn_slplink_queue_slpmsg(slplink, slpmsg); + purple_imgstore_unref(img); - /* DATA */ - slpmsg = msn_slpmsg_new(slplink); - slpmsg->slpcall = slpcall; - slpmsg->flags = 0x20; - slpmsg->info = "SLP DATA"; - msn_slpmsg_set_image(slpmsg, img); - msn_slplink_queue_slpmsg(slplink, slpmsg); - purple_imgstore_unref(img); + accepted = TRUE; - accepted = TRUE; + } else { + purple_debug_error("msn", "Wrong object.\n"); + } } else if (!strcmp(euf_guid, MSN_FT_GUID))