From d87fc1c5910a95e25ee9c66c0ba46b250b829d41 Mon Sep 17 00:00:00 2001
From: Sean Bright <sean.bright@gmail.com>
Date: Fri, 4 Jan 2019 18:14:45 -0500
Subject: [PATCH] res_pjsip_transport_websocket: Don't assert on 0 length
 payloads

If an external pjproject is used and built with assertions enabled, we
will assert if passed a payload length of 0, so treat empty frames as if
we didn't receive them.

Change-Id: I9c5fdccd89cc8d2f3ed7e3ee405ef0fc78178f48
---
 res/res_pjsip_transport_websocket.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/res/res_pjsip_transport_websocket.c b/res/res_pjsip_transport_websocket.c
index 2cbff335f0..624919687e 100644
--- a/res/res_pjsip_transport_websocket.c
+++ b/res/res_pjsip_transport_websocket.c
@@ -396,7 +396,9 @@ static void websocket_cb(struct ast_websocket *session, struct ast_variable *par
 		}
 
 		if (opcode == AST_WEBSOCKET_OPCODE_TEXT || opcode == AST_WEBSOCKET_OPCODE_BINARY) {
-			ast_sip_push_task_wait_serializer(serializer, transport_read, &read_data);
+			if (read_data.payload_len) {
+				ast_sip_push_task_wait_serializer(serializer, transport_read, &read_data);
+			}
 		} else if (opcode == AST_WEBSOCKET_OPCODE_CLOSE) {
 			break;
 		}
-- 
GitLab