From 5e8ef901cedffbf8a0a0678642c35a287f29c480 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Fri, 10 May 2024 09:15:24 +0300 Subject: [PATCH] solid: check if the object is null before qobject_cast()-ing it in return_SOLID_CALL() macro fixes possible crashes, notably on FreeBSD the backend of which does not implement all interfaces Signed-off-by: Ivailo Monev --- solid/solid/soliddefs_p.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/solid/solid/soliddefs_p.h b/solid/solid/soliddefs_p.h index f8463c79..b1963013 100644 --- a/solid/solid/soliddefs_p.h +++ b/solid/solid/soliddefs_p.h @@ -24,8 +24,11 @@ #include #define return_SOLID_CALL(Type, Object, Default, Method) \ + if (Object == nullptr) { \ + return Default; \ + } \ Type t = qobject_cast(Object); \ - if (t!=0) \ + if (t != nullptr) \ { \ return t->Method; \ } \