Don't use tvb_get_nstringz0(), use tvb_get_string_enc().
Change-Id: I8e654fa857fca6713198e3d20f2a14a0a444e935 Reviewed-on: https://code.wireshark.org/review/1037 Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
parent
412c6cabcf
commit
7d83a8755a
|
@ -76,9 +76,9 @@ static int dissect_aim_buddylist_reject(tvbuff_t *tvb, packet_info *pinfo, proto
|
|||
|
||||
static int dissect_aim_buddylist_oncoming(tvbuff_t *tvb, packet_info *pinfo, proto_tree *buddy_tree)
|
||||
{
|
||||
guchar buddyname[MAX_BUDDYNAME_LENGTH+1];
|
||||
guint8 *buddyname;
|
||||
int offset = 0;
|
||||
int buddyname_length = aim_get_buddyname( buddyname, tvb, offset, offset + 1 );
|
||||
int buddyname_length = aim_get_buddyname( &buddyname, tvb, offset );
|
||||
|
||||
col_set_str(pinfo->cinfo, COL_INFO, "Oncoming Buddy");
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, ": %s",
|
||||
|
@ -99,9 +99,9 @@ static int dissect_aim_buddylist_oncoming(tvbuff_t *tvb, packet_info *pinfo, pro
|
|||
static int dissect_aim_buddylist_offgoing(tvbuff_t *tvb, packet_info *pinfo, proto_tree *buddy_tree)
|
||||
{
|
||||
|
||||
guchar buddyname[MAX_BUDDYNAME_LENGTH+1];
|
||||
guint8 *buddyname;
|
||||
int offset = 0;
|
||||
int buddyname_length = aim_get_buddyname( buddyname, tvb, offset, offset + 1 );
|
||||
int buddyname_length = aim_get_buddyname( &buddyname, tvb, offset );
|
||||
|
||||
col_set_str(pinfo->cinfo, COL_INFO, "Offgoing Buddy");
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, ": %s",
|
||||
|
|
|
@ -81,13 +81,12 @@ static int dissect_aim_chat_userinfo_list(tvbuff_t *tvb, packet_info *pinfo, pro
|
|||
|
||||
static int dissect_aim_chat_outgoing_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *chat_tree _U_)
|
||||
{
|
||||
guchar *buddyname;
|
||||
guint8 *buddyname;
|
||||
guchar *msg;
|
||||
int buddyname_length;
|
||||
|
||||
buddyname=(guchar *)wmem_alloc(wmem_packet_scope(), MAX_BUDDYNAME_LENGTH+1);
|
||||
msg=(guchar *)wmem_alloc(wmem_packet_scope(), 1000);
|
||||
buddyname_length = aim_get_buddyname( buddyname, tvb, 30, 31 );
|
||||
buddyname_length = aim_get_buddyname( &buddyname, tvb, 30 );
|
||||
|
||||
/* channel message from client */
|
||||
aim_get_message( msg, tvb, 40 + buddyname_length, tvb_length(tvb)
|
||||
|
@ -101,14 +100,13 @@ static int dissect_aim_chat_outgoing_msg(tvbuff_t *tvb, packet_info *pinfo, prot
|
|||
|
||||
static int dissect_aim_chat_incoming_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *chat_tree)
|
||||
{
|
||||
guchar *buddyname;
|
||||
guint8 *buddyname;
|
||||
guchar *msg;
|
||||
/* channel message to client */
|
||||
int buddyname_length;
|
||||
|
||||
buddyname=(guchar *)wmem_alloc(wmem_packet_scope(), MAX_BUDDYNAME_LENGTH+1);
|
||||
msg=(guchar *)wmem_alloc(wmem_packet_scope(), 1000);
|
||||
buddyname_length = aim_get_buddyname( buddyname, tvb, 30, 31 );
|
||||
buddyname_length = aim_get_buddyname( &buddyname, tvb, 30 );
|
||||
|
||||
aim_get_message( msg, tvb, 36 + buddyname_length, tvb_length(tvb)
|
||||
- 36 - buddyname_length );
|
||||
|
|
|
@ -320,7 +320,7 @@ dissect_aim_msg_outgoing(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tree
|
|||
int offset = 0;
|
||||
const aim_tlv *aim_ch_tlvs = NULL;
|
||||
guint16 channel_id;
|
||||
guchar buddyname[MAX_BUDDYNAME_LENGTH+1];
|
||||
guint8 *buddyname;
|
||||
int buddyname_length;
|
||||
|
||||
/* ICBM Cookie */
|
||||
|
@ -334,8 +334,7 @@ dissect_aim_msg_outgoing(tvbuff_t *tvb, packet_info *pinfo, proto_tree *msg_tree
|
|||
offset += 2;
|
||||
|
||||
/* Add the outgoing username to the info column */
|
||||
buddyname_length = aim_get_buddyname(buddyname, tvb, offset,
|
||||
offset + 1);
|
||||
buddyname_length = aim_get_buddyname(&buddyname, tvb, offset);
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, " to: %s",
|
||||
format_text(buddyname, buddyname_length));
|
||||
|
||||
|
|
|
@ -73,7 +73,7 @@ static int dissect_aim_snac_signon_signon(tvbuff_t *tvb, packet_info *pinfo,
|
|||
{
|
||||
guint8 buddyname_length = 0;
|
||||
int offset = 0;
|
||||
guchar buddyname[MAX_BUDDYNAME_LENGTH + 1];
|
||||
guint8 *buddyname;
|
||||
|
||||
/* Info Type */
|
||||
proto_tree_add_item(tree, hf_aim_infotype, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
|
@ -83,7 +83,7 @@ static int dissect_aim_snac_signon_signon(tvbuff_t *tvb, packet_info *pinfo,
|
|||
offset += 1;
|
||||
|
||||
/* Buddy Name */
|
||||
buddyname_length = aim_get_buddyname( buddyname, tvb, offset, offset + 1 );
|
||||
buddyname_length = aim_get_buddyname( &buddyname, tvb, offset );
|
||||
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, " Username: %s",
|
||||
format_text(buddyname, buddyname_length));
|
||||
|
|
|
@ -493,16 +493,13 @@ const aim_family
|
|||
}
|
||||
|
||||
int
|
||||
aim_get_buddyname( guchar *name, tvbuff_t *tvb, int len_offset, int name_offset)
|
||||
aim_get_buddyname( guint8 **name, tvbuff_t *tvb, int offset)
|
||||
{
|
||||
guint8 buddyname_length;
|
||||
|
||||
buddyname_length = tvb_get_guint8(tvb, len_offset);
|
||||
buddyname_length = tvb_get_guint8(tvb, offset);
|
||||
|
||||
if(buddyname_length > MAX_BUDDYNAME_LENGTH )
|
||||
buddyname_length = MAX_BUDDYNAME_LENGTH;
|
||||
|
||||
tvb_get_nstringz0(tvb, name_offset, buddyname_length + 1, name);
|
||||
*name = tvb_get_string_enc(wmem_packet_scope(), tvb, offset + 1, buddyname_length, ENC_UTF_8|ENC_NA);
|
||||
|
||||
return buddyname_length;
|
||||
}
|
||||
|
|
|
@ -26,8 +26,6 @@
|
|||
/* For e_uuid_t */
|
||||
#include "packet-dcerpc.h"
|
||||
|
||||
#define MAX_BUDDYNAME_LENGTH 30
|
||||
|
||||
typedef struct _aim_tlv {
|
||||
guint16 valueid;
|
||||
const char *desc;
|
||||
|
@ -53,7 +51,7 @@ void aim_init_family(int proto, int ett, guint16 family, const aim_subtype *subt
|
|||
|
||||
int dissect_aim_buddyname(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tree);
|
||||
void aim_get_message( guchar *msg, tvbuff_t *tvb, int msg_offset, int msg_length);
|
||||
int aim_get_buddyname( guchar *name, tvbuff_t *tvb, int len_offset, int name_offset);
|
||||
int aim_get_buddyname( guint8 **name, tvbuff_t *tvb, int offset);
|
||||
int dissect_aim_userinfo(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tree);
|
||||
|
||||
int dissect_aim_snac_error(tvbuff_t *tvb, packet_info *pinfo, proto_tree *aim_tree);
|
||||
|
|
Loading…
Reference in New Issue