diff --git a/apps/blinkt/device.c b/apps/blinkt/device.c index 022bbb86..b15e2621 100644 --- a/apps/blinkt/device.c +++ b/apps/blinkt/device.c @@ -1018,8 +1018,13 @@ bool Device_Object_Name_Copy( bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/apps/piface/device.c b/apps/piface/device.c index 9d7f206b..fed76128 100644 --- a/apps/piface/device.c +++ b/apps/piface/device.c @@ -970,8 +970,13 @@ bool Device_Object_Name_Copy( bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/ports/at91sam7s/device.c b/ports/at91sam7s/device.c index 458bb7f9..29b23607 100644 --- a/ports/at91sam7s/device.c +++ b/ports/at91sam7s/device.c @@ -738,8 +738,13 @@ bool Device_Object_Name_Copy(BACNET_OBJECT_TYPE object_type, bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/ports/bdk-atxx4-mstp/device.c b/ports/bdk-atxx4-mstp/device.c index 1fc63b70..b3e94734 100644 --- a/ports/bdk-atxx4-mstp/device.c +++ b/ports/bdk-atxx4-mstp/device.c @@ -717,9 +717,13 @@ bool Device_Object_Name_Copy(BACNET_OBJECT_TYPE object_type, struct my_object_functions *pObject = NULL; bool found = false; - pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/ports/stm32f10x/device.c b/ports/stm32f10x/device.c index 96aeb090..adfbac1c 100644 --- a/ports/stm32f10x/device.c +++ b/ports/stm32f10x/device.c @@ -654,8 +654,13 @@ bool Device_Object_Name_Copy(BACNET_OBJECT_TYPE object_type, bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/ports/stm32f4xx/device.c b/ports/stm32f4xx/device.c index 8ce7a2a6..c80f9c77 100644 --- a/ports/stm32f4xx/device.c +++ b/ports/stm32f4xx/device.c @@ -684,8 +684,13 @@ bool Device_Object_Name_Copy(BACNET_OBJECT_TYPE object_type, bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/ports/xplained/device.c b/ports/xplained/device.c index 30e461c7..58eb19c6 100644 --- a/ports/xplained/device.c +++ b/ports/xplained/device.c @@ -583,8 +583,13 @@ bool Device_Object_Name_Copy(BACNET_OBJECT_TYPE object_type, bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/src/bacnet/basic/object/client/device-client.c b/src/bacnet/basic/object/client/device-client.c index 726682a9..d39e25d9 100644 --- a/src/bacnet/basic/object/client/device-client.c +++ b/src/bacnet/basic/object/client/device-client.c @@ -898,8 +898,13 @@ bool Device_Object_Name_Copy( bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found; diff --git a/src/bacnet/basic/object/device.c b/src/bacnet/basic/object/device.c index 35031897..e5a46aca 100644 --- a/src/bacnet/basic/object/device.c +++ b/src/bacnet/basic/object/device.c @@ -1259,8 +1259,13 @@ bool Device_Object_Name_Copy( bool found = false; pObject = Device_Objects_Find_Functions(object_type); - if ((pObject != NULL) && (pObject->Object_Name != NULL)) { - found = pObject->Object_Name(object_instance, object_name); + if (pObject != NULL) { + if (pObject->Object_Valid_Instance && + pObject->Object_Valid_Instance(object_instance)) { + if (pObject->Object_Name) { + found = pObject->Object_Name(object_instance, object_name); + } + } } return found;