Bug Report no. 45 |
Reported ByTeemu Torma Date28 Jan 1999 PlatformsAll VersionomniORB 2.7.0 DescriptionThe code for marshalling values of type Any onto and off the wire (and also for copying values of type Any) does its best to copy the data in blocks where possible. The code for performing this analysis has a bug, which causes certain types of IDL structures and exceptions to be marshalled incorrectly under certain circumstances. This can cause a CORBA::MARSHAL exception to be thrown, or even a crash. The problem occurs when a number of fixed size elements of small size are followed by a fixed size element of larger size, and the total size of the small fixed size elements is a multiple of the alignment requirement of the larger element. For example: // IDL struct S { short a; short b; long c; }; This structure is marshalled incorrectly if started on a boundary which is not aligned to 4 bytes. PatchApply this patch. The patch changes src/lib/omniORB2/dynamic/typecode.cc |
|
For comments, feedback, etc, please see the 'Keeping in touch' page. |