diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2004-07-05 16:42:19 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2004-07-05 16:42:19 +0000 |
commit | 97c4ef6cfb2e828c58b1834b279ccb65a1aca2ae (patch) | |
tree | c49b78400a00f9c989cfa9937e110907c6fcde09 /print.c | |
parent | a3e07cdd793a35bce0ee2919132a7ce0fc0be68a (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.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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); |