diff --git a/epan/dissectors/packet-dcerpc-nt.c b/epan/dissectors/packet-dcerpc-nt.c index 745e8978cc..d1a060b0a8 100644 --- a/epan/dissectors/packet-dcerpc-nt.c +++ b/epan/dissectors/packet-dcerpc-nt.c @@ -1261,7 +1261,7 @@ void cb_wstr_postprocess(packet_info *pinfo, proto_tree *tree _U_, /* Save string to dcv->private_data */ if (options & CB_STR_SAVE) { dcerpc_call_value *dcv = (dcerpc_call_value *)di->call_data; - dcv->private_data = s; + dcv->private_data = wmem_strdup(wmem_file_scope(), s); } } @@ -1324,7 +1324,7 @@ void cb_str_postprocess(packet_info *pinfo, proto_tree *tree _U_, if (options & CB_STR_SAVE) { dcerpc_call_value *dcv = (dcerpc_call_value *)di->call_data; - dcv->private_data = s; + dcv->private_data = wmem_strdup(wmem_file_scope(), s); } } diff --git a/epan/dissectors/packet-dcerpc-spoolss.c b/epan/dissectors/packet-dcerpc-spoolss.c index c44db46d51..62d92825ea 100644 --- a/epan/dissectors/packet-dcerpc-spoolss.c +++ b/epan/dissectors/packet-dcerpc-spoolss.c @@ -627,7 +627,7 @@ dissect_SYSTEM_TIME_ptr(tvbuff_t *tvb, int offset, packet_info *pinfo, offset = dissect_SYSTEM_TIME( tvb, offset, pinfo, tree, di, drep, NULL, FALSE, &str); - dcv->private_data = str; + dcv->private_data = wmem_strdup(wmem_file_scope(), str); return offset; }