Re: ORBit bug?



on 3/5/01 4:17 AM, Dietmar Maurer at dietmar ximian com wrote:

> The demarshalling code does not allocate memory for the name. Instead it
> uses a pointer into the receive buffer:
> 
>     set._buffer[_ORBIT_tmpvar_3].name = (void *) _ORBIT_curptr;
> 
> and later the code calls:
> 
>     Bonobo_PropertySet__free(&set, NULL, CORBA_TRUE);
> 
> Notice that release_strings is TRUE. So the memory is freed twice?

Ownership of individual elements in a sequence is controlled by a separate
flag named _release. If that's false, the elements in _buffer are not freed.
I'm guessing (without looking at the code) that it's false in this case.

    -- Darin





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]