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;