Diff between 40d6be7e9ad24eff26445fc1f55fb5c7f4cc224b and 6dab2b3f06a94340cfb8b61dce67dba4d23a1001

Changed Files

File Additions Deletions Status
tools/parser/rfcomm.c +14 -12 modified

Full Patch

diff --git a/tools/parser/rfcomm.c b/tools/parser/rfcomm.c
index 6f37cf2..a5ce993 100644
--- a/tools/parser/rfcomm.c
+++ b/tools/parser/rfcomm.c
@@ -268,20 +268,22 @@ static inline void uih_frame(int level, struct frame *frm, long_frame_head *head
 
 		proto = get_proto(frm->handle, 0, frm->channel);
 
-		switch (proto) {
-		case SDP_UUID_OBEX:
-			if (!p_filter(FILT_OBEX))
-				obex_dump(level + 1, frm);
-			else
-				raw_dump(level, frm);
-			break;
-
-		default:
-			if (p_filter(FILT_RFCOMM))
+		if (frm->len > 0) {
+			switch (proto) {
+			case SDP_UUID_OBEX:
+				if (!p_filter(FILT_OBEX))
+					obex_dump(level + 1, frm);
+				else
+					raw_dump(level, frm);
 				break;
 
-			raw_dump(level, frm);
-			break;
+			default:
+				if (p_filter(FILT_RFCOMM))
+					break;
+
+				raw_dump(level, frm);
+				break;
+			}
 		}
 	}
 }