summaryrefslogtreecommitdiff
path: root/epan/tvbuff_subset.c
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2013-07-15 18:59:42 +0000
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2013-07-15 18:59:42 +0000
commit49b642ab1ce85909e92010601a7bcdadfcfb1a48 (patch)
tree826594b4d42a9dc38955494add98bfb33d781976 /epan/tvbuff_subset.c
parentfec836d697436a3d62327a9c039f595b686619c1 (diff)
downloadwireshark-49b642ab1ce85909e92010601a7bcdadfcfb1a48.tar.gz
Fix bug #8934: Fuzz failure: seg-fault in tvb_new_proxy()
It is possible to have NULL reassembly data, support this case in tvb_new_proxy(). svn path=/trunk/; revision=50634
Diffstat (limited to 'epan/tvbuff_subset.c')
-rw-r--r--epan/tvbuff_subset.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/epan/tvbuff_subset.c b/epan/tvbuff_subset.c
index f65b612842..b5034b3f12 100644
--- a/epan/tvbuff_subset.c
+++ b/epan/tvbuff_subset.c
@@ -226,7 +226,12 @@ tvb_new_subset_remaining(tvbuff_t *backing, const gint backing_offset)
tvbuff_t *
tvb_new_proxy(tvbuff_t *backing)
{
- tvbuff_t *tvb = tvb_new_with_subset(backing, backing->reported_length, 0, backing->length);
+ tvbuff_t *tvb;
+
+ if (backing)
+ tvb = tvb_new_with_subset(backing, backing->reported_length, 0, backing->length);
+ else
+ tvb = tvb_new_real_data(NULL, 0, 0);
tvb->ds_tvb = tvb;