[omniORB] memory fault with from_char

bjorn rohde jensen shamus@tdcadsl.dk
Fri May 31 21:55:25 2002


Hi Svetlana,

 The segfault is due to dereferencing a null pointer
in cdrStream.h line 181 of the current version in CVS.

179
180       inline void marshalChar(_CORBA_Char a) {
181         pd_ncs_c->marshalChar(*this,pd_tcs_c,a);
182       }
183

I believe pd_ncs_c is supposed to point to some agent
to perform a native code set marshaling of a char,
unfortunately it happens to be a null pointer with you
demo code.

$1 = {pd_unmarshal_byte_swap = false, pd_marshal_byte_swap = false,
pd_inb_end = 0x41479fc8, 
  pd_inb_mkr = 0x41479fc8, pd_outb_end = 0x41479fe6, pd_outb_mkr =
0x41479fc8, pd_tcs_c = 0x0, 
  pd_tcs_w = 0x0, pd_ncs_c = 0x0, pd_ncs_w = 0x0, static _classid = 0,
_vptr. = 0x401e17c0}

Both char and wchar types appear to be affected by this,
quite interesting. I guess, someone will have to poke around
in this.

Yours sincerely,

bjorn