aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-ndr.c
diff options
context:
space:
mode:
authorKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-10-03 08:26:32 +0000
committerKovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>2009-10-03 08:26:32 +0000
commit939fe90d9c7c0b51ed7fe7235ac2b977f06e4450 (patch)
tree3dd3e128a1bb9fc21392f21186cf743d90644145 /epan/dissectors/packet-dcerpc-ndr.c
parente6a48cb668724adf749413c37c983dbc5c0a689a (diff)
Guard against NULL pointers
svn path=/trunk/; revision=30266
Diffstat (limited to 'epan/dissectors/packet-dcerpc-ndr.c')
-rw-r--r--epan/dissectors/packet-dcerpc-ndr.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/epan/dissectors/packet-dcerpc-ndr.c b/epan/dissectors/packet-dcerpc-ndr.c
index 57193f3bdc..e87b4d8737 100644
--- a/epan/dissectors/packet-dcerpc-ndr.c
+++ b/epan/dissectors/packet-dcerpc-ndr.c
@@ -231,8 +231,10 @@ dissect_ndr_uint3264 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
} else {
guint32 val;
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, drep, hfindex, &val);
- *pdata = val;
- return offset;
+ if (pdata) {
+ *pdata = val;
+ }
+ return offset;
}
}
@@ -253,8 +255,10 @@ dissect_ndr_uint1632 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
} else {
guint16 val;
offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, drep, hfindex, &val);
- *pdata = val;
- return offset;
+ if (pdata) {
+ *pdata = val;
+ }
+ return offset;
}
}
@@ -421,7 +425,7 @@ PIDL_dissect_uint64 (tvbuff_t *tvb, gint offset, packet_info *pinfo,
int
dissect_ndr_float(tvbuff_t *tvb, gint offset, packet_info *pinfo,
- proto_tree *tree, guint8 *drep,
+ proto_tree *tree, guint8 *drep,
int hfindex, gfloat *pdata)
{
dcerpc_info *di;
@@ -436,14 +440,14 @@ dissect_ndr_float(tvbuff_t *tvb, gint offset, packet_info *pinfo,
if (offset % 4) {
offset += 4 - (offset % 4);
}
- return dissect_dcerpc_float(tvb, offset, pinfo,
+ return dissect_dcerpc_float(tvb, offset, pinfo,
tree, drep, hfindex, pdata);
}
int
dissect_ndr_double(tvbuff_t *tvb, gint offset, packet_info *pinfo,
- proto_tree *tree, guint8 *drep,
+ proto_tree *tree, guint8 *drep,
int hfindex, gdouble *pdata)
{
dcerpc_info *di;
@@ -458,7 +462,7 @@ dissect_ndr_double(tvbuff_t *tvb, gint offset, packet_info *pinfo,
if (offset % 8) {
offset += 8 - (offset % 8);
}
- return dissect_dcerpc_double(tvb, offset, pinfo,
+ return dissect_dcerpc_double(tvb, offset, pinfo,
tree, drep, hfindex, pdata);
}