summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-05-12 15:26:53 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-05-12 15:26:53 +0000
commit1331ae03f8e9ab7a9b57fcb1230d486df245de12 (patch)
treee05e01070b4ee29cb7c26470c7e7509c2227c001
parent2d451522c899e1158e5316b0bdecc8acd78aaf29 (diff)
downloadATCD-1331ae03f8e9ab7a9b57fcb1230d486df245de12.tar.gz
ChangeLogTag:Mon May 12 10:24:18 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/tao/IIOP_Profile.cpp7
-rw-r--r--TAO/tao/Strategies/DIOP_Profile.cpp6
-rw-r--r--TAO/tao/Strategies/SHMIOP_Profile.cpp9
-rw-r--r--TAO/tao/Strategies/UIOP_Profile.cpp8
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