From 0af3b7a8f4ab6ab50aff7b25003f057c29e82d0e Mon Sep 17 00:00:00 2001 From: Ossama Othman Date: Mon, 19 Nov 2001 01:34:47 +0000 Subject: ChangeLogTag:Sun Nov 18 17:33:41 2001 Ossama Othman --- TAO/ChangeLogs/ChangeLog-02a | 9 +++++++++ TAO/tao/ORB_Core.cpp | 15 +++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index ebf467461b8..3b704aa382f 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,12 @@ +Sun Nov 18 17:33:41 2001 Ossama Othman + + * tao/ORB_Core.cpp (init): + + Fixed incorrect use of a CORBA::String_var in some + -ORBDefaultInitRed related code. It was being used as if it was + a pointer to char, resulting in a subtle memory corruption + problem due to consecutive assignments to the CORBA::String_var. + Sun Nov 18 13:32:10 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/md5c.c (MD5Init): Converted to ISO/ANSI C diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index 87f09cfc238..9e9b8cdbedb 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -968,7 +968,7 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) if (ns_port != 0) { - char ns_port_char[33]; + char ns_port_char[256]; ACE_OS_String::itoa (ns_port, ns_port_char, @@ -979,17 +979,16 @@ TAO_ORB_Core::init (int &argc, char *argv[], CORBA::Environment &ACE_TRY_ENV) ns_port_ptr = (const char *) ns_port_char; - const char prefix [] = "mcast://:"; + const char prefix[] = "mcast://:"; CORBA::String_var def_init_ref = CORBA::string_alloc (sizeof (prefix) + - ACE_OS::strlen - (ns_port_ptr.in ()) + - 3); + ACE_OS::strlen (ns_port_ptr.in ()) + + 2); - def_init_ref = ACE_OS::strcpy (def_init_ref, prefix); - def_init_ref = ACE_OS::strcat (def_init_ref, ns_port_ptr.in ()); - def_init_ref = ACE_OS::strcat (def_init_ref, "::"); + ACE_OS::strcpy (def_init_ref, prefix); + ACE_OS::strcat (def_init_ref, ns_port_ptr.in ()); + ACE_OS::strcat (def_init_ref, "::"); this->orb_params ()->default_init_ref (def_init_ref.in ()); } -- cgit v1.2.1