summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-12-01 15:34:59 +0000
committersma <sma@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-12-01 15:34:59 +0000
commitf217799605242ff92493937b6c2c5dee0b83df7e (patch)
tree6d82009f2bf47efaa2c0f5384e652a6b3fbcac66
parent70f3b825dee287df493279abfacd74c68cf0d729 (diff)
downloadATCD-f217799605242ff92493937b6c2c5dee0b83df7e.tar.gz
ChangeLogTag: Wed Dec 1 15:30:00 UTC 2004 Simon Massey <sma@prismtech.com>
-rw-r--r--TAO/ChangeLog12
-rw-r--r--TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp5
-rw-r--r--TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp9
4 files changed, 16 insertions, 14 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 6cfeefe2389..c6412ea3033 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,15 @@
+Wed Dec 1 15:30:00 UTC 2004 Simon Massey <sma@prismtech.com>
+
+ * TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
+ * TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp
+ * TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
+
+ Fixed bugzilla 1996 - IFR - Derefferencing NULL pointer
+ when compound object has been deleted
+ Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for
+ pointing out emulated exceptions were wrongly used in the
+ previous fix.
+
Wed Dec 1 14:00:00 UTC 2004 Simon Massey <sma@prismtech.com>
* TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
index aa81a2ab1ff..8cb7ab5b95b 100644
--- a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
+++ b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
@@ -63,12 +63,9 @@ TAO_AliasDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
TAO_IDLType_i *impl =
TAO_IFR_Service_Utils::path_to_idltype (original_type,
this->repo_);
- ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
-
if (0 == impl)
{
- ACE_THROW( CORBA::OBJECT_NOT_EXIST() );
- ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+ ACE_THROW_RETURN ( CORBA::OBJECT_NOT_EXIST(), CORBA::TypeCode::_nil () );
}
CORBA::TypeCode_var tc = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
diff --git a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp
index 5c0e90660f2..89e62d0d879 100644
--- a/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp
+++ b/TAO/orbsvcs/orbsvcs/IFRService/StructDef_i.cpp
@@ -208,11 +208,9 @@ TAO_StructDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL)
impl = TAO_IFR_Service_Utils::path_to_idltype (path,
this->repo_);
- ACE_CHECK_RETURN (0);
if (0 == impl)
{
- ACE_THROW(CORBA::OBJECT_NOT_EXIST());
- ACE_CHECK_RETURN (0);
+ ACE_THROW_RETURN ( CORBA::OBJECT_NOT_EXIST(), 0);
}
retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
diff --git a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
index 85c24eadc82..2664eb0a1e9 100644
--- a/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
+++ b/TAO/orbsvcs/orbsvcs/IFRService/UnionDef_i.cpp
@@ -122,12 +122,9 @@ TAO_UnionDef_i::discriminator_type_i (ACE_ENV_SINGLE_ARG_DECL)
TAO_IDLType_i *impl =
TAO_IFR_Service_Utils::path_to_idltype (disc_path,
this->repo_);
- ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
-
if (0 == impl)
{
- ACE_THROW(CORBA::OBJECT_NOT_EXIST());
- ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST(), CORBA::TypeCode::_nil () );
}
return impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
@@ -299,11 +296,9 @@ TAO_UnionDef_i::members_i (ACE_ENV_SINGLE_ARG_DECL)
impl = TAO_IFR_Service_Utils::path_to_idltype (path,
this->repo_);
- ACE_CHECK_RETURN (0);
if (0 == impl)
{
- ACE_THROW(CORBA::OBJECT_NOT_EXIST());
- ACE_CHECK_RETURN (0);
+ ACE_THROW_RETURN (CORBA::OBJECT_NOT_EXIST(), 0 );
}
retval[k].type = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);