aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-tds.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/epan/dissectors/packet-tds.c b/epan/dissectors/packet-tds.c
index 4872bbce96..3c25cc9eb2 100644
--- a/epan/dissectors/packet-tds.c
+++ b/epan/dissectors/packet-tds.c
@@ -2922,6 +2922,10 @@ dissect_tds7_colmetadata_token(tvbuff_t *tvb, struct _netlib_data *nl_data, guin
num_columns = tvb_get_letohs(tvb, cur);
nl_data->num_cols = num_columns;
proto_tree_add_item(tree, hf_tds_colmetadata_columns, tvb, cur, 2, ENC_LITTLE_ENDIAN);
+ if (nl_data->num_cols > TDS_MAX_COLUMNS) {
+ nl_data->num_cols = 0;
+ return 0;
+ }
cur +=2;
for(i=0; i != num_columns; i++) {