diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-12-09 13:11:51 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-12-09 13:11:51 +0000 |
commit | 204499c44014a9d63534ce49efe14ef961de641e (patch) | |
tree | 4802b2ddf64aaad9fbcea1833ab7805c6170391f | |
parent | c6060bb2a439e23dbe4a73adf59b1897baaed9c4 (diff) | |
download | ATCD-204499c44014a9d63534ce49efe14ef961de641e.tar.gz |
Wed Dec 9 13:11:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
* connectors/dds4ccm/impl/ndds/Updater_T.cpp:
Check whether instance_handle and instance match
-rw-r--r-- | CIAO/ChangeLog | 5 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/impl/ndds/Updater_T.cpp | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 0b8fd4eeb81..fea0bd81379 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,8 @@ +Wed Dec 9 13:11:33 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl> + + * connectors/dds4ccm/impl/ndds/Updater_T.cpp: + Check whether instance_handle and instance match + Wed Dec 9 12:55:23 UTC 2009 Marcel Smit <msmit@remedy.nl> * connectors/dds4ccm/tests/Event_Connection_Test/Base/Event_Connection_Test_Base.mpc: diff --git a/CIAO/connectors/dds4ccm/impl/ndds/Updater_T.cpp b/CIAO/connectors/dds4ccm/impl/ndds/Updater_T.cpp index 805ac01d662..506c65b42e7 100644 --- a/CIAO/connectors/dds4ccm/impl/ndds/Updater_T.cpp +++ b/CIAO/connectors/dds4ccm/impl/ndds/Updater_T.cpp @@ -119,6 +119,18 @@ CIAO::DDS4CCM::RTI::Updater_T<DDS_TYPE, CCM_TYPE>::update_one ( { hnd = this->impl_->lookup_instance (an_instance); } + else + { + // Check explicitly if the instance handle matches the instance, this + // is not checked by RTI DDS + DDS_InstanceHandle_t const instance_handle = + this->impl_->lookup_instance (an_instance); + + if (!DDS_InstanceHandle_equals (&hnd, &instance_handle)) + { + throw CCM_DDS::InternalError (::DDS_RETCODE_BAD_PARAMETER, 0); + } + } if (DDS_InstanceHandle_equals (&hnd, &::DDS_HANDLE_NIL)) { throw CCM_DDS::NonExistent (0); |