diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-02-06 21:48:35 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-02-06 21:48:35 +0000 |
commit | a50d90a059d3b253a743fdb5b9bf6dfaadcfad83 (patch) | |
tree | 2c1a3678d65e5d4fa7a4aeddaeda1a6a423fa5d5 | |
parent | 40fcb05f6a1eb2aff32918315d7fbf2871bd514e (diff) | |
download | ATCD-a50d90a059d3b253a743fdb5b9bf6dfaadcfad83.tar.gz |
ChangeLogTag: Thu Feb 6 16:37:32 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r-- | TAO/tao/ChangeLog | 7 | ||||
-rw-r--r-- | TAO/tao/ClientRequestInfo_i.cpp | 8 | ||||
-rw-r--r-- | TAO/tao/Invocation.cpp | 12 | ||||
-rw-r--r-- | TAO/tao/Stub.cpp | 3 |
4 files changed, 27 insertions, 3 deletions
diff --git a/TAO/tao/ChangeLog b/TAO/tao/ChangeLog index 3ab08c051ab..5b62c362c93 100644 --- a/TAO/tao/ChangeLog +++ b/TAO/tao/ChangeLog @@ -1,3 +1,10 @@ +Thu Feb 6 16:37:32 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu> + + * tao/Stub.cpp (ior_info_): + * tao/Invocation.cpp: + * tao/ClientRequestInfo_i.cpp: Added error checks to the last + checkins. + Sun Jan 26 23:50:17 2003 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu> * tao/Profile.cpp: diff --git a/TAO/tao/ClientRequestInfo_i.cpp b/TAO/tao/ClientRequestInfo_i.cpp index b20f96a973a..2c9f9033bb8 100644 --- a/TAO/tao/ClientRequestInfo_i.cpp +++ b/TAO/tao/ClientRequestInfo_i.cpp @@ -134,6 +134,14 @@ TAO_ClientRequestInfo_i::effective_profile (ACE_ENV_SINGLE_ARG_DECL) IOP::TaggedProfile *ep = this->target_->_stubobj ()->profile_in_use ()->create_tagged_profile (); + if (ep == 0) + { + ACE_THROW_RETURN (CORBA::BAD_PARAM (CORBA::OMGVMCID | 28, + CORBA::COMPLETED_NO), + 0); + } + + // @@BAD_PARAM exception tagged_profile->tag = ep->tag; tagged_profile->profile_data = ep->profile_data; // Deep copy diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp index e00002a4ed3..5728d07bc3f 100644 --- a/TAO/tao/Invocation.cpp +++ b/TAO/tao/Invocation.cpp @@ -345,6 +345,7 @@ TAO_GIOP_Invocation::prepare_header (CORBA::Octet response_flags ACE_ENV_ARG_PARAMETER); ACE_CHECK; + // Set the target specification mode switch (this->profile_->addressing_mode ()) { @@ -354,9 +355,14 @@ TAO_GIOP_Invocation::prepare_header (CORBA::Octet response_flags break; case TAO_Target_Specification::Profile_Addr: - this->target_spec_.target_specifier ( - *this->profile_->create_tagged_profile ()); - break; + { + IOP::TaggedProfile *tp = + this->profile_->create_tagged_profile (); + + if (tp) + this->target_spec_.target_specifier (*tp); + } + break; case TAO_Target_Specification::Reference_Addr: // We need to call the method seperately. If there is no diff --git a/TAO/tao/Stub.cpp b/TAO/tao/Stub.cpp index a5e59fd929e..6cb5e4e2d38 100644 --- a/TAO/tao/Stub.cpp +++ b/TAO/tao/Stub.cpp @@ -261,6 +261,9 @@ TAO_Stub::get_profile_ior_info (TAO_MProfile &profiles, IOP::TaggedProfile *tp = prof->create_tagged_profile (); + if (tp == 0) + ACE_THROW_RETURN (CORBA::NO_MEMORY (), + -1); ior_info->profiles[index] = *tp; } |