Don't pass the result of tvb_get_ptr() into a %s format string: the string may

not be NULL terminated.  Use tvb_get_ephemeral_string() instead.

svn path=/trunk/; revision=35376
This commit is contained in:
Jeff Morriss 2011-01-05 15:18:54 +00:00
parent d74bd3ce42
commit 5efa40982a
1 changed files with 2 additions and 2 deletions

View File

@ -404,7 +404,7 @@ dissect_info_string_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tre
info_string_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
proto_tree_add_item(parameter_tree, hf_info_string, parameter_tvb, INFO_STRING_OFFSET, info_string_length, ENC_BIG_ENDIAN);
proto_item_append_text(parameter_item, " (%.*s)", info_string_length,
(const char *)tvb_get_ptr(parameter_tvb, INFO_STRING_OFFSET, info_string_length));
tvb_get_ephemeral_string(parameter_tvb, INFO_STRING_OFFSET, info_string_length));
}
#define ROUTING_CONTEXT_LENGTH 4
@ -1317,7 +1317,7 @@ dissect_hostname_parameter(tvbuff_t *parameter_tvb, proto_tree *parameter_tree,
hostname_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH;
proto_tree_add_item(parameter_tree, hf_hostname, parameter_tvb, HOSTNAME_OFFSET, hostname_length, ENC_BIG_ENDIAN);
proto_item_append_text(parameter_item, " (%.*s)", hostname_length,
(const char *)tvb_get_ptr(parameter_tvb, HOSTNAME_OFFSET, hostname_length));
tvb_get_ephemeral_string(parameter_tvb, HOSTNAME_OFFSET, hostname_length));
}
#define IPV6_ADDRESS_LENGTH 16