diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-05-12 15:26:53 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-05-12 15:26:53 +0000 |
commit | 1331ae03f8e9ab7a9b57fcb1230d486df245de12 (patch) | |
tree | e05e01070b4ee29cb7c26470c7e7509c2227c001 /TAO | |
parent | 2d451522c899e1158e5316b0bdecc8acd78aaf29 (diff) | |
download | ATCD-1331ae03f8e9ab7a9b57fcb1230d486df245de12.tar.gz |
ChangeLogTag:Mon May 12 10:24:18 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLog | 9 | ||||
-rw-r--r-- | TAO/tao/IIOP_Profile.cpp | 7 | ||||
-rw-r--r-- | TAO/tao/Strategies/DIOP_Profile.cpp | 6 | ||||
-rw-r--r-- | TAO/tao/Strategies/SHMIOP_Profile.cpp | 9 | ||||
-rw-r--r-- | TAO/tao/Strategies/UIOP_Profile.cpp | 8 |
5 files changed, 28 insertions, 11 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 8f181243e9b..503906e7799 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,12 @@ +Mon May 12 10:24:18 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> + + * tao/IIOP_Profile.cpp (parse_string_i): + * tao/Strategies/DIOP_Profile.cpp: + * tao/Strategies/SHMIOP_Profile.cpp: + * tao/Strategies/UIOP_Profile.cpp: Fixed a memory management + problem with parse_string_i () method that lead to crashes in + our daily builds. + Mon May 12 16:15:27 2003 Simon McQueen <sm@prismtechnologies.com> * examples/AMH/Sink_Server/client.bor: diff --git a/TAO/tao/IIOP_Profile.cpp b/TAO/tao/IIOP_Profile.cpp index 62c8f740edf..3c04caae38e 100644 --- a/TAO/tao/IIOP_Profile.cpp +++ b/TAO/tao/IIOP_Profile.cpp @@ -198,10 +198,13 @@ TAO_IIOP_Profile::parse_string_i (const char *ior this->endpoint_.host_ = CORBA::string_dup (tmp_host); } - TAO::ObjectKey &ok = ACE_const_cast (TAO::ObjectKey&, - this->ref_object_key_->object_key ()); + TAO::ObjectKey ok; + TAO::ObjectKey::decode_string_to_sequence (ok, okd + 1); + + (void) this->orb_core ()->object_key_table ().bind (ok, + this->ref_object_key_); } CORBA::Boolean diff --git a/TAO/tao/Strategies/DIOP_Profile.cpp b/TAO/tao/Strategies/DIOP_Profile.cpp index 73cb6167905..12f9a071c8c 100644 --- a/TAO/tao/Strategies/DIOP_Profile.cpp +++ b/TAO/tao/Strategies/DIOP_Profile.cpp @@ -208,10 +208,12 @@ TAO_DIOP_Profile::parse_string_i (const char *ior this->endpoint_.host_ = CORBA::string_dup (tmp_host); } - TAO::ObjectKey &ok = ACE_const_cast (TAO::ObjectKey&, - this->ref_object_key_->object_key ()); + TAO::ObjectKey ok; TAO::ObjectKey::decode_string_to_sequence (ok, okd + 1); + + (void) this->orb_core ()->object_key_table ().bind (ok, + this->ref_object_key_); } CORBA::Boolean diff --git a/TAO/tao/Strategies/SHMIOP_Profile.cpp b/TAO/tao/Strategies/SHMIOP_Profile.cpp index 6202344b417..442b6b7021c 100644 --- a/TAO/tao/Strategies/SHMIOP_Profile.cpp +++ b/TAO/tao/Strategies/SHMIOP_Profile.cpp @@ -236,11 +236,12 @@ TAO_SHMIOP_Profile::parse_string_i (const char *string start = ++okd; // increment past the object key separator - TAO::ObjectKey &ok = ACE_const_cast (TAO::ObjectKey&, - this->ref_object_key_->object_key ()); - + TAO::ObjectKey ok; TAO::ObjectKey::decode_string_to_sequence (ok, - start); + okd + 1); + + (void) this->orb_core ()->object_key_table ().bind (ok, + this->ref_object_key_); } CORBA::Boolean diff --git a/TAO/tao/Strategies/UIOP_Profile.cpp b/TAO/tao/Strategies/UIOP_Profile.cpp index 1613ac9e204..20cb07c56a0 100644 --- a/TAO/tao/Strategies/UIOP_Profile.cpp +++ b/TAO/tao/Strategies/UIOP_Profile.cpp @@ -96,7 +96,7 @@ TAO_UIOP_Profile::endpoint_count (void) void TAO_UIOP_Profile::parse_string_i (const char *string - ACE_ENV_ARG_DECL) + ACE_ENV_ARG_DECL) { // Pull off the "rendezvous point" part of the objref // Copy the string because we are going to modify it... @@ -133,10 +133,12 @@ TAO_UIOP_Profile::parse_string_i (const char *string start = ++cp; // increment past the object key separator - TAO::ObjectKey &ok = ACE_const_cast (TAO::ObjectKey&, - this->ref_object_key_->object_key ()); + TAO::ObjectKey ok; TAO::ObjectKey::decode_string_to_sequence (ok, start); + + (void) this->orb_core ()->object_key_table ().bind (ok, + this->ref_object_key_); } CORBA::Boolean |