aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tds.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-07-28 09:20:56 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2005-07-28 09:20:56 +0000
commit69a6b599494eb610ea62835cee814a62ff338935 (patch)
tree645791c11d9fd4b9ab54c07bcab19d6848977ba7 /epan/dissectors/packet-tds.c
parent93c4543207129c4723d35a200c5ca6f9faa61551 (diff)
ememify the tvb_get_string() and tvb_fake_unicode() calls in tds
svn path=/trunk/; revision=15129
Diffstat (limited to 'epan/dissectors/packet-tds.c')
-rw-r--r--epan/dissectors/packet-tds.c57
1 files changed, 22 insertions, 35 deletions
diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c
index 511eeba062..d9a5f7b89f 100644
--- a/epan/dissectors/packet-tds.c
+++ b/epan/dissectors/packet-tds.c
@@ -683,12 +683,11 @@ dissect_tds_query_packet(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree
is_unicode = FALSE;
if (is_unicode)
- msg = tvb_fake_unicode(tvb, offset, len/2, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, len/2, TRUE);
else
- msg = tvb_get_string(tvb, offset, len);
+ msg = ep_tvb_get_string(tvb, offset, len);
proto_tree_add_text(query_tree, tvb, offset, len, "Query: %s", msg);
- g_free(msg);
offset += len;
}
@@ -703,12 +702,11 @@ dissect_tds5_lang_token(tvbuff_t *tvb, guint offset, guint len, proto_tree *tree
len -= 1;
if (is_unicode)
- msg = tvb_fake_unicode(tvb, offset, (len)/2, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, (len)/2, TRUE);
else
- msg = tvb_get_string(tvb, offset, len);
+ msg = ep_tvb_get_string(tvb, offset, len);
proto_tree_add_text(tree, tvb, offset, len, "Language text: %s", msg);
- g_free(msg);
}
static void
@@ -868,12 +866,11 @@ dissect_tds7_login(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
if (len != 0) {
if( i != 2) {
if (is_unicode == TRUE) {
- val = tvb_fake_unicode(tvb, offset2, len, TRUE);
+ val = ep_tvb_fake_unicode(tvb, offset2, len, TRUE);
len *= 2;
} else
- val = tvb_get_string(tvb, offset2, len);
+ val = ep_tvb_get_string(tvb, offset2, len);
proto_tree_add_text(login_tree, tvb, offset2, len, "%s: %s", val_to_str(i, login_field_names, "Unknown"), val);
- g_free(val);
}
else {
if (is_unicode)
@@ -1166,14 +1163,13 @@ dissect_tds_env_chg(tvbuff_t *tvb, guint offset, guint token_sz,
if (env_type != 7) { /* if it's not 'Collation Info - which is not textual! */
string_offset = offset + 2;
if (is_unicode == TRUE) {
- new_val = tvb_fake_unicode(tvb, string_offset,
+ new_val = ep_tvb_fake_unicode(tvb, string_offset,
new_len, TRUE);
new_len *= 2;
} else
- new_val = tvb_get_string(tvb, string_offset, new_len);
+ new_val = ep_tvb_get_string(tvb, string_offset, new_len);
proto_tree_add_text(tree, tvb, string_offset, new_len,
"New Value: %s", new_val);
- g_free(new_val);
}
else { /* parse collation info structure. From http://www.freetds.org/tds.html#collate */
offset +=2;
@@ -1194,14 +1190,13 @@ dissect_tds_env_chg(tvbuff_t *tvb, guint offset, guint token_sz,
if (old_len) {
string_offset = old_len_offset + 1;
if (is_unicode == TRUE) {
- old_val = tvb_fake_unicode(tvb, string_offset,
+ old_val = ep_tvb_fake_unicode(tvb, string_offset,
old_len, TRUE);
old_len *= 2;
} else
- old_val = tvb_get_string(tvb, string_offset, old_len);
+ old_val = ep_tvb_get_string(tvb, string_offset, old_len);
proto_tree_add_text(tree, tvb, string_offset, old_len,
"Old Value: %s", old_val);
- g_free(old_val);
}
}
@@ -1228,13 +1223,12 @@ dissect_tds_err_token(tvbuff_t *tvb, guint offset, guint token_sz _U_, proto_tre
is_unicode = TRUE;
if(is_unicode) {
- msg = tvb_fake_unicode(tvb, offset, msg_len, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, msg_len, TRUE);
msg_len *= 2;
} else {
- msg = tvb_get_string(tvb, offset, msg_len);
+ msg = ep_tvb_get_string(tvb, offset, msg_len);
}
proto_tree_add_text(tree, tvb, offset, msg_len, "Error: %s", format_text(msg, strlen(msg)));
- g_free(msg);
offset += msg_len;
srvr_len = tvb_get_guint8(tvb, offset);
@@ -1243,14 +1237,13 @@ dissect_tds_err_token(tvbuff_t *tvb, guint offset, guint token_sz _U_, proto_tre
offset +=1;
if(srvr_len) {
if (is_unicode) {
- msg = tvb_fake_unicode(tvb, offset, srvr_len, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, srvr_len, TRUE);
srvr_len *=2;
} else {
- msg = tvb_get_string(tvb, offset, srvr_len);
+ msg = ep_tvb_get_string(tvb, offset, srvr_len);
}
proto_tree_add_text(tree, tvb, offset, srvr_len, "Server name: %s", msg);
offset += srvr_len;
- g_free(msg);
}
proc_len = tvb_get_guint8(tvb, offset);
@@ -1259,14 +1252,13 @@ dissect_tds_err_token(tvbuff_t *tvb, guint offset, guint token_sz _U_, proto_tre
offset +=1;
if(proc_len) {
if (is_unicode) {
- msg = tvb_fake_unicode(tvb, offset, proc_len, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, proc_len, TRUE);
proc_len *=2;
} else {
- msg = tvb_get_string(tvb, offset, proc_len);
+ msg = ep_tvb_get_string(tvb, offset, proc_len);
}
proto_tree_add_text(tree, tvb, offset, proc_len, "Process name: %s", msg);
offset += proc_len;
- g_free(msg);
}
proto_tree_add_text(tree, tvb, offset, 2, "line number: %d", tds_tvb_get_xxtohs(tvb, offset, tds_little_endian));
@@ -1296,13 +1288,12 @@ dissect_tds_login_ack_token(tvbuff_t *tvb, guint offset, guint token_sz, proto_t
is_unicode = TRUE;
proto_tree_add_text(tree, tvb, offset, 0, "msg_len: %d, token_sz: %d, total: %d",msg_len, token_sz, msg_len + 6U + 3U);
if(is_unicode) {
- msg = tvb_fake_unicode(tvb, offset, msg_len, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, msg_len, TRUE);
msg_len *= 2;
} else {
- msg = tvb_get_string(tvb, offset, msg_len);
+ msg = ep_tvb_get_string(tvb, offset, msg_len);
}
proto_tree_add_text(tree, tvb, offset, msg_len, "Text: %s", format_text(msg, strlen(msg)));
- g_free(msg);
offset += msg_len;
proto_tree_add_text(tree, tvb, offset, 4, "Server Version");
@@ -1350,9 +1341,8 @@ dissect_tds7_results_token(tvbuff_t *tvb, guint offset, proto_tree *tree)
table_len = tvb_get_letohs(tvb, offset);
offset +=2;
if(table_len != 0) {
- msg = tvb_fake_unicode(tvb, offset, table_len, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, table_len, TRUE);
proto_tree_add_text(tree, tvb, offset, table_len*2, "Table name: %s", msg);
- g_free(msg);
offset += table_len*2;
}
}
@@ -1377,9 +1367,8 @@ dissect_tds7_results_token(tvbuff_t *tvb, guint offset, proto_tree *tree)
proto_tree_add_text(tree, tvb, offset, 1, "message length: %d",msg_len);
offset += 1;
if(msg_len != 0) {
- msg = tvb_fake_unicode(tvb, offset, msg_len, TRUE);
+ msg = ep_tvb_fake_unicode(tvb, offset, msg_len, TRUE);
proto_tree_add_text(tree, tvb, offset, msg_len*2, "Text: %s", msg);
- g_free(msg);
offset += msg_len*2;
}
}
@@ -1413,9 +1402,8 @@ dissect_tds_rpc(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
len = tvb_get_guint8(tvb, offset);
proto_tree_add_text(tree, tvb, offset, 1, "RPC Name Length: %u", len);
offset += 1;
- val = tvb_get_string(tvb, offset, len);
+ val = ep_tvb_get_string(tvb, offset, len);
proto_tree_add_text(tree, tvb, offset, len, "RPC Name: %s", val);
- g_free(val);
offset += len;
break;
@@ -1433,10 +1421,9 @@ dissect_tds_rpc(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
offset += 2;
}
else if (len != 0) {
- val = tvb_fake_unicode(tvb, offset, len, TRUE);
+ val = ep_tvb_fake_unicode(tvb, offset, len, TRUE);
len *= 2;
proto_tree_add_text(tree, tvb, offset, len, "RPC Name: %s", val);
- g_free(val);
offset += len;
}
break;