diff options
author | Dr. David Alan Gilbert | 2019-02-14 19:53:51 +0100 |
---|---|---|
committer | Dr. David Alan Gilbert | 2019-03-06 11:49:17 +0100 |
commit | cf75e2684938413f0bbe95f5a4b7db5c845e42c8 (patch) | |
tree | e2f833f50060d5408dbdc453af1f83d4837096c2 /migration | |
parent | migration: Fix cancel state (diff) | |
download | qemu-cf75e2684938413f0bbe95f5a4b7db5c845e42c8.tar.gz qemu-cf75e2684938413f0bbe95f5a4b7db5c845e42c8.tar.xz qemu-cf75e2684938413f0bbe95f5a4b7db5c845e42c8.zip |
migration/rdma: Fix qemu_rdma_cleanup null check
If the migration fails before the channel is open (e.g. a bad
address) we end up in the cleanup with rdma->channel==NULL.
Spotted by Coverity: CID 1398634
Fixes: fbbaacab2758cb3f32a0
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20190214185351.5927-1-dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r-- | migration/rdma.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/migration/rdma.c b/migration/rdma.c index 54a3c11540..9fa3b176eb 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -2321,7 +2321,9 @@ static void qemu_rdma_cleanup(RDMAContext *rdma) rdma->connected = false; } - qemu_set_fd_handler(rdma->channel->fd, NULL, NULL, NULL); + if (rdma->channel) { + qemu_set_fd_handler(rdma->channel->fd, NULL, NULL, NULL); + } g_free(rdma->dest_blocks); rdma->dest_blocks = NULL; |