comparison libgaim/protocols/qq/recv_core.c @ 14656:d1a76ccb93c4

[gaim-migrate @ 17402] leak-be-gone committer: Tailor Script <tailor@pidgin.im>
author Mark Huetsch <markhuetsch>
date Sat, 30 Sep 2006 00:14:00 +0000
parents 6b8bc59414f0
children c039c920e11c
comparison
equal deleted inserted replaced
14655:4764c501fdb9 14656:d1a76ccb93c4
88 data = g_newa(guint8, len); 88 data = g_newa(guint8, len);
89 msg_utf8 = NULL; 89 msg_utf8 = NULL;
90 90
91 _qq_show_packet("Processing unknown packet", buf, len); 91 _qq_show_packet("Processing unknown packet", buf, len);
92 if (qq_crypt(DECRYPT, buf, buf_len, qd->session_key, data, &len)) { 92 if (qq_crypt(DECRYPT, buf, buf_len, qd->session_key, data, &len)) {
93 gchar *hex_dump = hex_dump_to_str(data, len);
93 gaim_debug(GAIM_DEBUG_WARNING, "QQ", 94 gaim_debug(GAIM_DEBUG_WARNING, "QQ",
94 ">>> [%d] %s, %d bytes -> [default] decrypt and dump\n%s", 95 ">>> [%d] %s, %d bytes -> [default] decrypt and dump\n%s",
95 seq, qq_get_cmd_desc(cmd), buf_len, hex_dump_to_str(data, len)); 96 seq, qq_get_cmd_desc(cmd), buf_len, hex_dump);
97 g_free(hex_dump);
96 try_dump_as_gbk(data, len); 98 try_dump_as_gbk(data, len);
97 } else { 99 } else {
98 gaim_debug(GAIM_DEBUG_ERROR, "QQ", "Fail decrypt packet with default process\n"); 100 gaim_debug(GAIM_DEBUG_ERROR, "QQ", "Fail decrypt packet with default process\n");
99 } 101 }
100 } 102 }
113 115
114 qd = (qq_data *) gc->proto_data; 116 qd = (qq_data *) gc->proto_data;
115 bytes_expected = qd->use_tcp ? QQ_TCP_HEADER_LENGTH : QQ_UDP_HEADER_LENGTH; 117 bytes_expected = qd->use_tcp ? QQ_TCP_HEADER_LENGTH : QQ_UDP_HEADER_LENGTH;
116 118
117 if (buf_len < bytes_expected) { 119 if (buf_len < bytes_expected) {
120 gchar *hex_dump = hex_dump_to_str(buf, buf_len);
118 gaim_debug(GAIM_DEBUG_ERROR, 121 gaim_debug(GAIM_DEBUG_ERROR,
119 "QQ", "Received packet is too short, dump and drop\n%s", hex_dump_to_str(buf, buf_len)); 122 "QQ", "Received packet is too short, dump and drop\n%s", hex_dump);
123 g_free(hex_dump);
120 return; 124 return;
121 } 125 }
122 /* initialize */ 126 /* initialize */
123 cursor = buf; 127 cursor = buf;
124 bytes_read = 0; 128 bytes_read = 0;
147 bytes_expected, bytes_read); 151 bytes_expected, bytes_read);
148 return; 152 return;
149 } 153 }
150 154
151 if ((buf[buf_len - 1] != QQ_PACKET_TAIL) || (header.header_tag != QQ_PACKET_TAG)) { 155 if ((buf[buf_len - 1] != QQ_PACKET_TAIL) || (header.header_tag != QQ_PACKET_TAG)) {
156 gchar *hex_dump = hex_dump_to_str(buf, buf_len);
152 gaim_debug(GAIM_DEBUG_ERROR, 157 gaim_debug(GAIM_DEBUG_ERROR,
153 "QQ", "Unknown QQ proctocol, dump and drop\n%s", hex_dump_to_str(buf, buf_len)); 158 "QQ", "Unknown QQ proctocol, dump and drop\n%s", hex_dump);
159 g_free(hex_dump);
154 return; 160 return;
155 } 161 }
156 162
157 if (QQ_DEBUG) 163 if (QQ_DEBUG)
158 gaim_debug(GAIM_DEBUG_INFO, "QQ", 164 gaim_debug(GAIM_DEBUG_INFO, "QQ",