aboutsummaryrefslogtreecommitdiffstats
path: root/print.c
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2004-07-05 16:42:19 +0000
committerUlf Lamping <ulf.lamping@web.de>2004-07-05 16:42:19 +0000
commit97c4ef6cfb2e828c58b1834b279ccb65a1aca2ae (patch)
treec49b78400a00f9c989cfa9937e110907c6fcde09 /print.c
parenta3e07cdd793a35bce0ee2919132a7ce0fc0be68a (diff)
bugfix: don't try to print data, if tvb is too short
svn path=/trunk/; revision=11318
Diffstat (limited to 'print.c')
-rw-r--r--print.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/print.c b/print.c
index 72dc92d10c..adc4c1ea53 100644
--- a/print.c
+++ b/print.c
@@ -1,7 +1,7 @@
/* print.c
* Routines for printing packet analysis trees.
*
- * $Id: print.c,v 1.82 2004/05/01 21:04:27 obiot Exp $
+ * $Id: print.c,v 1.83 2004/07/05 16:39:20 ulfl Exp $
*
* Gilbert Ramirez <gram@alumni.rice.edu>
*
@@ -288,6 +288,12 @@ print_field_hex_value(print_data *pdata, field_info *fi)
int i;
const guint8 *pd;
+
+ if(fi->length > tvb_length_remaining(fi->ds_tvb, fi->start)) {
+ fprintf(pdata->fh, "field length invalid!");
+ return;
+ }
+
/* Find the data for this field. */
pd = get_field_data(pdata->src_list, fi);