diff --git a/tools/parser/l2cap.c b/tools/parser/l2cap.c
index 01d621c..3e69e41 100644
--- a/tools/parser/l2cap.c
+++ b/tools/parser/l2cap.c
switch (h->type) {
case L2CAP_CONF_MTU:
- printf("MTU %d ", get_val(h->val, h->len));
+ printf("MTU ");
+ if (h->len > 0)
+ printf("%d ", get_val(h->val, h->len));
break;
case L2CAP_CONF_FLUSH_TO:
- printf("FlushTO %d ", get_val(h->val, h->len));
+ printf("FlushTO ");
+ if (h->len > 0)
+ printf("%d ", get_val(h->val, h->len));
break;
case 0x04:
- printf("Mode %d (%s)", *h->val, mode2str(*h->val));
+ printf("Mode ");
+ if (h->len > 0)
+ printf("%d (%s) ", *h->val, mode2str(*h->val));
break;
default:
printf("Unknown (type %2.2x, len %d) ", h->type, h->len);