some fixes in ORBit2
- From: Dmitry Yusupov <dmy7 yahoo com>
- To: orbit-list gnome org
- Subject: some fixes in ORBit2
- Date: Tue, 9 Jan 2001 11:09:10 +0300
Hi!
I found some bugs during hacking.
First one got marshaling problem and G_BREAKPOINT arose for
all ORBit2/test examples for me. I'm not sure. May be this one wrong.
But this work fine for me at least.
Index: src/orb/GIOP/giop-recv-buffer.c
===================================================================
RCS file: /cvs/gnome/ORBit2/src/orb/GIOP/giop-recv-buffer.c,v
retrieving revision 1.15
diff -u -r1.15 giop-recv-buffer.c
--- src/orb/GIOP/giop-recv-buffer.c 2000/11/13 18:35:19 1.15
+++ src/orb/GIOP/giop-recv-buffer.c 2001/01/09 07:25:58
@@ -566,8 +566,8 @@
if(giop_msg_conversion_needed(buf))
len = GUINT32_SWAP_LE_BE(len);
buf->cur += 4;
- if((buf->cur + len) > buf->end
- || (buf->cur + len) < buf->cur)
+ if(/*(buf->cur + len) > buf->end
+ ||*/ (buf->cur + len) < buf->cur)
{
G_BREAKPOINT();
return NULL;
This one fix for CORBA_exception_free(CORBA_Environment *ev).
There are another code which try free exception before using new one.
I think following fix will be right.
Index: src/orb/orb-core/corba-env.c
===================================================================
RCS file: /cvs/gnome/ORBit2/src/orb/orb-core/corba-env.c,v
retrieving revision 1.10
diff -u -r1.10 corba-env.c
--- src/orb/orb-core/corba-env.c 2000/11/17 01:15:45 1.10
+++ src/orb/orb-core/corba-env.c 2001/01/09 07:26:14
@@ -79,6 +79,7 @@
{
CORBA_free(ev->_id);
CORBA_any__freekids(&ev->_any, NULL);
+ ev->_major = CORBA_NO_EXCEPTION;
ev->_any._type = NULL;
ev->_any._value = NULL;
ev->_any._release = CORBA_FALSE;
This is just wrapping from g_hash_table_lookup null pointer assertion.
Index: src/orb/poa/poa.c
===================================================================
RCS file: /cvs/gnome/ORBit2/src/orb/poa/poa.c,v
retrieving revision 1.16
diff -u -r1.16 poa.c
--- src/orb/poa/poa.c 2000/11/09 00:43:26 1.16
+++ src/orb/poa/poa.c 2001/01/09 07:26:45
@@ -64,10 +64,11 @@
const CORBA_boolean activate_it,
CORBA_Environment * ev)
{
- PortableServer_POA child_poa;
+ PortableServer_POA child_poa = NULL;
- child_poa = g_hash_table_lookup(_obj->child_poas, adapter_name);
+ if(_obj->child_poas)
+ child_poa = g_hash_table_lookup (_obj->child_poas, adapter_name);
if(activate_it)
g_warning("Don't yet know how to activate POA named \"%s\"",
--
Best regards,
Dmitry
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]