From cbd42dc5a1a296d0f4038448933d68bc4b94ff22 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 28 Mar 2007 22:52:37 +0000 Subject: r22004: Check for dereferencing null pointers. Patch by Ronnie Sahlberg. (This used to be commit fa5722111dede37d0d6f9a9d227b7ec3ae28f1d4) --- source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm b/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm index e6dd954b74..51e3933013 100644 --- a/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm +++ b/source4/pidl/lib/Parse/Pidl/Wireshark/NDR.pm @@ -162,8 +162,12 @@ sub Enum($$$) pidl_code "$dissectorname(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)"; pidl_code "{"; indent; - pidl_code "g$e->{BASE_TYPE} parameter;"; + pidl_code "g$e->{BASE_TYPE} parameter=0;"; + pidl_code "if(param){"; + indent; pidl_code "parameter=(g$e->{BASE_TYPE})*param;"; + deindent; + pidl_code "}"; pidl_code "offset = dissect_ndr_$e->{BASE_TYPE}(tvb, offset, pinfo, tree, drep, hf_index, ¶meter);"; pidl_code "if(param){"; indent; -- cgit