Diff between 00d0481c801aa5c4e2e0473b27b17edccc169a06 and 857b60b6a77b6a1f796df5ac286d442300b41935

Changed Files

File Additions Deletions Status
tools/parser/lmp.c +6 -2 modified

Full Patch

diff --git a/tools/parser/lmp.c b/tools/parser/lmp.c
index da7b404..24ecdf0 100644
--- a/tools/parser/lmp.c
+++ b/tools/parser/lmp.c
@@ -324,7 +324,7 @@ static inline void name_res_dump(int level, struct frame *frm)
 	uint8_t offset = LMP_U8(frm);
 	uint8_t length = LMP_U8(frm);
 	uint8_t *name = frm->ptr;
-	int i;
+	int i, size;
 
 	frm->ptr += 14;
 	frm->len -= 14;
@@ -335,9 +335,13 @@ static inline void name_res_dump(int level, struct frame *frm)
 	p_indent(level, frm);
 	printf("name length %d\n", length);
 
+	size = length - offset;
+	if (size > 14)
+		size = 14;
+
 	p_indent(level, frm);
 	printf("name fragment '");
-	for (i = 0; i < length; i++)
+	for (i = 0; i < size; i++)
 		if (isprint(name[i]))
 			printf("%c", name[i]);
 		else