qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] nbd: Prevent NULL pointer dereference in nbd_blockdev_client_closed()
@ 2024-06-07 15:00 Alexander Ivanov
  2024-06-08  9:36 ` Alexander Ivanov
  2024-06-28  9:58 ` Alexander Ivanov
  0 siblings, 2 replies; 7+ messages in thread
From: Alexander Ivanov @ 2024-06-07 15:00 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-block, den, andrey.drobyshev, eblake, vsementsov, kwolf,
	hreitz

In some cases, the NBD server can be stopped before
nbd_blockdev_client_closed() is called, causing the nbd_server variable
to be nullified. This leads to a NULL pointer dereference when accessing
nbd_server.

Add a NULL check for nbd_server to the nbd_blockdev_client_closed()
function to prevent NULL pointer dereference.

Signed-off-by: Alexander Ivanov <alexander.ivanov@virtuozzo.com>
---
 blockdev-nbd.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index 213012435f..fb1f30ae0d 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -52,6 +52,9 @@ int nbd_server_max_connections(void)
 static void nbd_blockdev_client_closed(NBDClient *client, bool ignored)
 {
     nbd_client_put(client);
+    if (nbd_server == NULL) {
+        return;
+    }
     assert(nbd_server->connections > 0);
     nbd_server->connections--;
     nbd_update_server_watch(nbd_server);
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-07-30  2:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-07 15:00 [PATCH] nbd: Prevent NULL pointer dereference in nbd_blockdev_client_closed() Alexander Ivanov
2024-06-08  9:36 ` Alexander Ivanov
2024-06-10 12:33   ` Eric Blake
2024-06-10 12:52     ` Alexander Ivanov
2024-06-18  8:44     ` Alexander Ivanov
2024-06-28  9:58 ` Alexander Ivanov
2024-07-30  2:35   ` Eric Blake

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).