Mercurial > pidgin
comparison libpurple/protocols/msnp9/slp.c @ 27941:db99cde1845c
Fix crashes when filenames end up being NULL in some prpls. Fixed a minor
leak in MSNP9 while we're at it.
committer: John Bailey <rekkanoryo@rekkanoryo.org>
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sun, 16 Aug 2009 23:46:15 +0000 |
parents | 7f552614ec8a |
children |
comparison
equal
deleted
inserted
replaced
27940:cd257777ac5d | 27941:db99cde1845c |
---|---|
336 PurpleAccount *account; | 336 PurpleAccount *account; |
337 PurpleXfer *xfer; | 337 PurpleXfer *xfer; |
338 char *bin; | 338 char *bin; |
339 gsize bin_len; | 339 gsize bin_len; |
340 guint32 file_size; | 340 guint32 file_size; |
341 char *file_name; | 341 gchar *file_name; |
342 gunichar2 *uni_name; | 342 gunichar2 *uni_name; |
343 | 343 |
344 account = slpcall->slplink->session->account; | 344 account = slpcall->slplink->session->account; |
345 | 345 |
346 slpcall->cb = msn_xfer_completed_cb; | 346 slpcall->cb = msn_xfer_completed_cb; |
366 file_name = g_utf16_to_utf8((const gunichar2 *)(bin + 20), -1, | 366 file_name = g_utf16_to_utf8((const gunichar2 *)(bin + 20), -1, |
367 NULL, NULL, NULL); | 367 NULL, NULL, NULL); |
368 | 368 |
369 g_free(bin); | 369 g_free(bin); |
370 | 370 |
371 purple_xfer_set_filename(xfer, file_name); | 371 purple_xfer_set_filename(xfer, file_name ? file_name : ""); |
372 g_free(file_name); | |
372 purple_xfer_set_size(xfer, file_size); | 373 purple_xfer_set_size(xfer, file_size); |
373 purple_xfer_set_init_fnc(xfer, msn_xfer_init); | 374 purple_xfer_set_init_fnc(xfer, msn_xfer_init); |
374 purple_xfer_set_request_denied_fnc(xfer, msn_xfer_cancel); | 375 purple_xfer_set_request_denied_fnc(xfer, msn_xfer_cancel); |
375 purple_xfer_set_cancel_recv_fnc(xfer, msn_xfer_cancel); | 376 purple_xfer_set_cancel_recv_fnc(xfer, msn_xfer_cancel); |
376 | 377 |