From e334a0db02ec483c867ae1fd243234d3503c9e8c Mon Sep 17 00:00:00 2001 From: tharun-kumarv <105273644+tharun-kumarv@users.noreply.github.com> Date: Tue, 3 Mar 2026 15:00:42 +0530 Subject: [PATCH 1/4] RDKEMW-11440 : [RDKE][Xumo]"btMgrBus" crash observed. Reason for change: dbus crash due to invalid path. Test Procedure: Check Ticket Description. Risks: Low Priority: P1 --- src/bt-ifce/btrCore_dbus_bluez5.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/bt-ifce/btrCore_dbus_bluez5.c b/src/bt-ifce/btrCore_dbus_bluez5.c index 1d9f00f..eaf7564 100644 --- a/src/bt-ifce/btrCore_dbus_bluez5.c +++ b/src/bt-ifce/btrCore_dbus_bluez5.c @@ -215,7 +215,7 @@ static int btrCore_BTUnRegisterGattService (DBusConnection* apDBusConn, const ch static int btrCore_BTRegisterLeAdvGetProp (DBusConnection* apDBusConn, DBusMessage* apDBusMsg, stBtIfceHdl* apstlhBtIfce); static DBusMessage* btrCore_BTLEGattOps (DBusMessage* apDBusMsg, stBtIfceHdl* apstlhBtIfce, enBTOpIfceType aenIfceType, enBTLeGattOp aenGattOp); static int btrCore_BTReleaseLEGattObjPath(char* apstObjPath, void* apvUserData); -static bool btrCore_IsPathValid (char *path); +static bool btrCore_IsPathValid (const char *path); /* Incoming Callbacks Prototypes */ static DBusHandlerResult btrCore_BTDBusConnectionFilterCb (DBusConnection* apDBusConn, DBusMessage* apDBusMsg, void* apvUserData); static DBusHandlerResult btrCore_BTMediaEndpointHandlerCb (DBusConnection* apDBusConn, DBusMessage* apDBusMsg, void* apvUserData); @@ -3894,7 +3894,11 @@ BtrCore_BTGetProp ( BTRCORELOG_ERROR ("Invalid Interface Property\n"); return -1; } - + + if (!btrCore_IsPathValid(apcBtOpIfcePath)) { + BTRCORELOG_ERROR("Invalid apcBtOpIfcePath\n"); + return -1; + } lpDBusMsg = dbus_message_new_method_call(BT_DBUS_BLUEZ_PATH, apcBtOpIfcePath, @@ -5072,7 +5076,7 @@ BtrCore_BTFindServiceSupported ( return match; } -static bool btrCore_IsPathValid(char *path) { +static bool btrCore_IsPathValid(const char *path) { if(!path) { BTRCORELOG_ERROR ("path is NULL\n"); return false; From 8acbc3c5ebe5e2d1393d362be53f8caa89bf6817 Mon Sep 17 00:00:00 2001 From: tharun-kumarv <105273644+tharun-kumarv@users.noreply.github.com> Date: Tue, 3 Mar 2026 15:11:43 +0530 Subject: [PATCH 2/4] RDKEMW-11440 : [RDKE][Xumo]"btMgrBus" process crash is observed Reason for change: dbus crash due to invalid path. Test Procedure: Check description Risks: Low Priority: P1 --- src/bt-ifce/btrCore_dbus_bluez5.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/bt-ifce/btrCore_dbus_bluez5.c b/src/bt-ifce/btrCore_dbus_bluez5.c index eaf7564..a835a9d 100644 --- a/src/bt-ifce/btrCore_dbus_bluez5.c +++ b/src/bt-ifce/btrCore_dbus_bluez5.c @@ -215,7 +215,7 @@ static int btrCore_BTUnRegisterGattService (DBusConnection* apDBusConn, const ch static int btrCore_BTRegisterLeAdvGetProp (DBusConnection* apDBusConn, DBusMessage* apDBusMsg, stBtIfceHdl* apstlhBtIfce); static DBusMessage* btrCore_BTLEGattOps (DBusMessage* apDBusMsg, stBtIfceHdl* apstlhBtIfce, enBTOpIfceType aenIfceType, enBTLeGattOp aenGattOp); static int btrCore_BTReleaseLEGattObjPath(char* apstObjPath, void* apvUserData); -static bool btrCore_IsPathValid (const char *path); +static bool btrCore_IsPathValid (const char * path); /* Incoming Callbacks Prototypes */ static DBusHandlerResult btrCore_BTDBusConnectionFilterCb (DBusConnection* apDBusConn, DBusMessage* apDBusMsg, void* apvUserData); static DBusHandlerResult btrCore_BTMediaEndpointHandlerCb (DBusConnection* apDBusConn, DBusMessage* apDBusMsg, void* apvUserData); @@ -223,6 +223,16 @@ static DBusHandlerResult btrCore_BTAgentMessageHandlerCb (DBusConnection* apDBu static DBusHandlerResult btrCore_BTLeGattEndpointHandlerCb(DBusConnection* apDBusConn, DBusMessage* apDBusMsg, void* apvUserData); static DBusHandlerResult btrCore_BTLeGattMessageHandlerCb (DBusConnection* apDBusConn, DBusMessage* apDBusMsg, void* apvUserData); +static bool btrCore_IsPathValid(const char * path) { + if(!path) { + BTRCORELOG_ERROR ("path is NULL\n"); + return false; + } + + BTRCORELOG_INFO ("path value is: %s\n", path); + + return strncmp(path, "/", strlen("/")) == 0; +} static const DBusObjectPathVTable gDBusMediaEndpointVTable = { .message_function = btrCore_BTMediaEndpointHandlerCb, @@ -5076,17 +5086,6 @@ BtrCore_BTFindServiceSupported ( return match; } -static bool btrCore_IsPathValid(const char *path) { - if(!path) { - BTRCORELOG_ERROR ("path is NULL\n"); - return false; - } - - BTRCORELOG_INFO ("path value is: %s\n", path); - - return strncmp(path, "/", strlen("/")) == 0; -} - int BtrCore_BTPerformAdapterOp ( void* apstBtIfceHdl, From 48ae39e453a1b59f89d2b1d84e64a9147f145b6e Mon Sep 17 00:00:00 2001 From: tharun-kumarv <105273644+tharun-kumarv@users.noreply.github.com> Date: Tue, 3 Mar 2026 15:57:51 +0530 Subject: [PATCH 3/4] Update btrCore_dbus_bluez5.c --- src/bt-ifce/btrCore_dbus_bluez5.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bt-ifce/btrCore_dbus_bluez5.c b/src/bt-ifce/btrCore_dbus_bluez5.c index a835a9d..902024c 100644 --- a/src/bt-ifce/btrCore_dbus_bluez5.c +++ b/src/bt-ifce/btrCore_dbus_bluez5.c @@ -3906,8 +3906,8 @@ BtrCore_BTGetProp ( } if (!btrCore_IsPathValid(apcBtOpIfcePath)) { - BTRCORELOG_ERROR("Invalid apcBtOpIfcePath\n"); - return -1; + BTRCORELOG_ERROR("Invalid apcBtOpIfcePath\n"); + return -1; } lpDBusMsg = dbus_message_new_method_call(BT_DBUS_BLUEZ_PATH, From 0850552b5bcde2c97ac3ed7a53172ed601b9ed60 Mon Sep 17 00:00:00 2001 From: tharun-kumarv <105273644+tharun-kumarv@users.noreply.github.com> Date: Tue, 3 Mar 2026 16:03:04 +0530 Subject: [PATCH 4/4] RDKEMW-11440 : [RDKE][Xumo]"btMgrBus" process crash is observed Reason for change: dbus crash due to invalid path. Test Procedure: Check Ticket description. Risks: Low Priority: P1 --- src/bt-ifce/btrCore_dbus_bluez5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bt-ifce/btrCore_dbus_bluez5.c b/src/bt-ifce/btrCore_dbus_bluez5.c index 902024c..0d75aab 100644 --- a/src/bt-ifce/btrCore_dbus_bluez5.c +++ b/src/bt-ifce/btrCore_dbus_bluez5.c @@ -3908,7 +3908,7 @@ BtrCore_BTGetProp ( if (!btrCore_IsPathValid(apcBtOpIfcePath)) { BTRCORELOG_ERROR("Invalid apcBtOpIfcePath\n"); return -1; - } + } lpDBusMsg = dbus_message_new_method_call(BT_DBUS_BLUEZ_PATH, apcBtOpIfcePath,