comparison libgaim/protocols/jabber/si.c @ 15284:c2f15e2117dc

[gaim-migrate @ 18073] gaim_xfer_new() can return NULL via g_return_if_fail(). It should therefore not be assumed that it returns a GaimXfer; check against its return value before proceeding when creating a GaimXfer. committer: Tailor Script <tailor@pidgin.im>
author Evan Schoenberg <evan.s@dreskin.net>
date Thu, 04 Jan 2007 23:20:12 +0000
parents 118fd0dc5b6e
children
comparison
equal deleted inserted replaced
15283:8e39ca9b954a 15284:c2f15e2117dc
840 JabberSIXfer *jsx; 840 JabberSIXfer *jsx;
841 841
842 js = gc->proto_data; 842 js = gc->proto_data;
843 843
844 xfer = gaim_xfer_new(gc->account, GAIM_XFER_SEND, who); 844 xfer = gaim_xfer_new(gc->account, GAIM_XFER_SEND, who);
845 845 if (xfer)
846 xfer->data = jsx = g_new0(JabberSIXfer, 1); 846 {
847 jsx->js = js; 847 xfer->data = jsx = g_new0(JabberSIXfer, 1);
848 848 jsx->js = js;
849 gaim_xfer_set_init_fnc(xfer, jabber_si_xfer_init); 849
850 gaim_xfer_set_cancel_send_fnc(xfer, jabber_si_xfer_cancel_send); 850 gaim_xfer_set_init_fnc(xfer, jabber_si_xfer_init);
851 gaim_xfer_set_end_fnc(xfer, jabber_si_xfer_end); 851 gaim_xfer_set_cancel_send_fnc(xfer, jabber_si_xfer_cancel_send);
852 852 gaim_xfer_set_end_fnc(xfer, jabber_si_xfer_end);
853 js->file_transfers = g_list_append(js->file_transfers, xfer); 853
854 js->file_transfers = g_list_append(js->file_transfers, xfer);
855 }
854 856
855 return xfer; 857 return xfer;
856 } 858 }
857 859
858 void jabber_si_xfer_send(GaimConnection *gc, const char *who, const char *file) 860 void jabber_si_xfer_send(GaimConnection *gc, const char *who, const char *file)
948 jsx->js = js; 950 jsx->js = js;
949 jsx->stream_id = g_strdup(stream_id); 951 jsx->stream_id = g_strdup(stream_id);
950 jsx->iq_id = g_strdup(xmlnode_get_attrib(packet, "id")); 952 jsx->iq_id = g_strdup(xmlnode_get_attrib(packet, "id"));
951 953
952 xfer = gaim_xfer_new(js->gc->account, GAIM_XFER_RECEIVE, from); 954 xfer = gaim_xfer_new(js->gc->account, GAIM_XFER_RECEIVE, from);
953 xfer->data = jsx; 955 if (xfer)
954 956 {
955 gaim_xfer_set_filename(xfer, filename); 957 xfer->data = jsx;
956 if(filesize > 0) 958
957 gaim_xfer_set_size(xfer, filesize); 959 gaim_xfer_set_filename(xfer, filename);
958 960 if(filesize > 0)
959 gaim_xfer_set_init_fnc(xfer, jabber_si_xfer_init); 961 gaim_xfer_set_size(xfer, filesize);
960 gaim_xfer_set_request_denied_fnc(xfer, jabber_si_xfer_request_denied); 962
961 gaim_xfer_set_cancel_recv_fnc(xfer, jabber_si_xfer_cancel_recv); 963 gaim_xfer_set_init_fnc(xfer, jabber_si_xfer_init);
962 gaim_xfer_set_end_fnc(xfer, jabber_si_xfer_end); 964 gaim_xfer_set_request_denied_fnc(xfer, jabber_si_xfer_request_denied);
963 965 gaim_xfer_set_cancel_recv_fnc(xfer, jabber_si_xfer_cancel_recv);
964 js->file_transfers = g_list_append(js->file_transfers, xfer); 966 gaim_xfer_set_end_fnc(xfer, jabber_si_xfer_end);
965 967
966 gaim_xfer_request(xfer); 968 js->file_transfers = g_list_append(js->file_transfers, xfer);
967 } 969
968 970 gaim_xfer_request(xfer);
969 971 }
972 }
973
974