summaryrefslogtreecommitdiff
path: root/TAO/tao/Typecode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Typecode.cpp')
-rw-r--r--TAO/tao/Typecode.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/TAO/tao/Typecode.cpp b/TAO/tao/Typecode.cpp
index e915aebde02..09b644120f4 100644
--- a/TAO/tao/Typecode.cpp
+++ b/TAO/tao/Typecode.cpp
@@ -294,6 +294,19 @@ CORBA::TypeCode::~TypeCode (void)
// Free up our private state.
delete this->private_state_;
this->private_state_ = 0;
+
+ if (this->offset_map_ != 0)
+ {
+ OFFSET_MAP_ENTRY *entry = 0;
+
+ for (CORBA::TypeCode::OFFSET_MAP_ITERATOR iter (*this->offset_map_);
+ iter.next (entry) != 0;
+ iter.advance ())
+ {
+ CORBA::string_free ((char*)entry->ext_id_);
+ delete entry->int_id_;
+ }
+ }
delete this->offset_map_;
this->offset_map_ = 0;