Mercurial > pidgin
comparison src/protocols/msn/servconn.c @ 5899:349204c9a709
[gaim-migrate @ 6331]
Sending MSN buddy icons back and forth no longer crashes. More checks in place
for bad things that can happen.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 15 Jun 2003 20:12:05 +0000 |
parents | 5baeb89ee2d4 |
children | 115769a4c6fc |
comparison
equal
deleted
inserted
replaced
5898:5baeb89ee2d4 | 5899:349204c9a709 |
---|---|
419 | 419 |
420 void | 420 void |
421 msn_servconn_parse_data(gpointer data, gint source, GaimInputCondition cond) | 421 msn_servconn_parse_data(gpointer data, gint source, GaimInputCondition cond) |
422 { | 422 { |
423 MsnServConn *servconn = (MsnServConn *)data; | 423 MsnServConn *servconn = (MsnServConn *)data; |
424 MsnSession *session = servconn->session; | |
424 char buf[MSN_BUF_LEN]; | 425 char buf[MSN_BUF_LEN]; |
425 gboolean cont = TRUE; | 426 gboolean cont = TRUE; |
426 int len; | 427 int len; |
427 | 428 |
428 len = read(servconn->fd, buf, sizeof(buf)); | 429 len = read(servconn->fd, buf, sizeof(buf)); |
463 msg[servconn->msg_len] = '\0'; | 464 msg[servconn->msg_len] = '\0'; |
464 servconn->parsing_msg = FALSE; | 465 servconn->parsing_msg = FALSE; |
465 | 466 |
466 process_multi_line(servconn, msg); | 467 process_multi_line(servconn, msg); |
467 | 468 |
468 servconn->msg_len = 0; | 469 if (g_list_find(session->servconns, servconn) != NULL) { |
469 g_free(servconn->msg_passport); | 470 servconn->msg_len = 0; |
470 g_free(servconn->msg_friendly); | 471 |
472 if (servconn->msg_passport != NULL) | |
473 g_free(servconn->msg_passport); | |
474 | |
475 if (servconn->msg_friendly != NULL) | |
476 g_free(servconn->msg_friendly); | |
477 } | |
478 else | |
479 cont = 0; | |
480 | |
471 g_free(msg); | 481 g_free(msg); |
472 } | 482 } |
473 else { | 483 else { |
474 char *end = servconn->rxqueue; | 484 char *end = servconn->rxqueue; |
475 char *cmd; | 485 char *cmd; |