On 09/02/21 06:49, Pavel Dovgalyuk wrote:
This patch checks that ioc is not null before
using it in tcp socket tcp_chr_add_watch function.

The failure occurs in replay mode of the execution,
when monitor and serial port are tcp servers,
and there are no clients connected to them:

-monitor tcp:127.0.0.1:8081,server,nowait
-serial tcp:127.0.0.1:8082,server,nowait


Signed-off-by: Pavel Dovgalyuk <pavel.dovgal...@ispras.ru>
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com>
---
  chardev/char-socket.c |    3 +++
  1 file changed, 3 insertions(+)

diff --git a/chardev/char-socket.c b/chardev/char-socket.c
index 213a4c8dd0..cef1d9438f 100644
--- a/chardev/char-socket.c
+++ b/chardev/char-socket.c
@@ -385,6 +385,9 @@ static ssize_t tcp_chr_recv(Chardev *chr, char *buf, size_t 
len)
  static GSource *tcp_chr_add_watch(Chardev *chr, GIOCondition cond)
  {
      SocketChardev *s = SOCKET_CHARDEV(chr);
+    if (!s->ioc) {
+        return NULL;
+    }
      return qio_channel_create_watch(s->ioc, cond);
  }

Queued, thanks.

Paolo


Reply via email to