Hello, All.
In isc_dsql_execute2_m() I cannot understand the following code:
>else // delay execution till first fetch (with output format)
>{
> statement->parMetadata = inMsgBuffer.metadata;
> statement->parameters.assign(static_cast<UCHAR*>(inMsgBuffer.buffer),
> inMsgLength);
> statement->transaction = transaction;
> return 0;
>}
Here inMsgBuffer.metadata is a pointer to reference-counted objects. It is
assigned to
external variable, but addRef() is not called. On returning its local holder is
destroyed,
so it should be destroyed as well.
How this code can work?
--
WBR, SD.
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel