diff --git a/epan/dissectors/packet-ldss.c b/epan/dissectors/packet-ldss.c
index 90db41e..fe2a1be 100644
--- a/epan/dissectors/packet-ldss.c
+++ b/epan/dissectors/packet-ldss.c
@@ -523,7 +523,7 @@ dissect_ldss_transfer (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
FALSE);
/* Include new-line in line */
- line = (guint8 *)tvb_memdup(tvb, offset, linelen+1); /* XXX - memory leak? */
+ line = tvb_get_ephemeral_string_enc(tvb, offset, linelen, ENC_ASCII);
if (tree) {
ti = proto_tree_add_text(ldss_tree, tvb, offset, linelen,