Skip to main content

Problem

  • Product Name: VisiBroker for C
  • Product Version: All
  • Product Component: Security

The application using VisiSecure crashed at "vbsec::CSIV2IORInterceptor::establish_components" when overriding the security policies with CORBA::SET_OVERRIDE.

The crash stack trace is:

(gdb) bt
#0  0x009fe219 in vbsec::CSIV2IORInterceptor::establish_components (this=0xa0e3308,
info=0xa10c7f8) at CSIV2IORInterceptor.cpp:217
#1  0x014c96bf in VISChainPIIORInterceptor::establish_components (this=0xa109d48,
info=0xa10c7f8) at vpiiorint.C:72
#2  0x0166c994 in VISPOA::initialize (this=0xa0e48f8, policies=@0xbfcb0cc0) at vpoa.C:3422
#3  0x01673501 in VISPOA::root_POA () at vpoa.C:3932
#4  0x0167e564 in VISPOAServiceResolver::resolve (this=0x18e9040, service=0x690a15
RootPOA) at vpoa.C:638
#5  0x0150ed58 in VISServiceResolverManager::resolve (this=0xa0bfd58, name=0x690a15
RootPOA) at vmiscint.C:57
#6  0x016a052e in VISORB::resolve_initial_references (this=0xa0bf788, name=0x690a15
RootPOA) at vorb.C:933
#7  0x006739c8 in CTServer::initORB () from /opt/IBM/ITM/li6263/cq/lib/libKfwORBInit.so
#8  0x0804e0d6 in main ()

Resolution

This problem can be resolved by changing the policy CORBA::SET_OVERRIDE to CORBA::ADD_OVERRIDE.

When CORBA::ADD_OVERRIDE is used, the previously set security policies will not be overwritten. Consequently, the core dump/ program crash is avoided.


#vbsec--CSIV2IORInterceptor--establish_components
#VisiBroker
#ADD_OVERRIDE
#Security
#SET_OVERRIDE