mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
validate:launcher: Handle validate report bigger than allowed by the socket
This almost never happens but I had a case where we had a report with a GstSample in the caps that were reported leading to an error printed.
This commit is contained in:
parent
d17c2ff65c
commit
2f135d430b
1 changed files with 12 additions and 5 deletions
|
@ -708,18 +708,25 @@ class GstValidateListener(socketserver.BaseRequestHandler, Loggable):
|
||||||
if raw_len == b'':
|
if raw_len == b'':
|
||||||
return
|
return
|
||||||
msglen = struct.unpack('>I', raw_len)[0]
|
msglen = struct.unpack('>I', raw_len)[0]
|
||||||
try:
|
e = None
|
||||||
msg = self.request.recv(msglen).decode('utf-8', 'ignore')
|
raw_msg = bytes()
|
||||||
except UnicodeDecodeError as e:
|
while msglen != len(raw_msg):
|
||||||
self.error("Could not decode message: %s - %s" % (msg, e))
|
raw_msg += self.request.recv(msglen - len(raw_msg))
|
||||||
|
if e is not None:
|
||||||
continue
|
continue
|
||||||
|
try:
|
||||||
|
msg = raw_msg.decode('utf-8', 'ignore')
|
||||||
|
except UnicodeDecodeError as e:
|
||||||
|
self.error("%s Could not decode message: %s - %s" % (test.classname if test else "unknown", msg, e))
|
||||||
|
continue
|
||||||
|
|
||||||
if msg == '':
|
if msg == '':
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
obj = json.loads(msg)
|
obj = json.loads(msg)
|
||||||
except json.decoder.JSONDecodeError as e:
|
except json.decoder.JSONDecodeError as e:
|
||||||
self.error("Could not deserialize: %s - %s" % (msg, e))
|
self.error("%s Could not decode message: %s - %s" % (test.classname if test else "unknown", msg, e))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if test is None:
|
if test is None:
|
||||||
|
|
Loading…
Reference in a new issue