On 12/9/20 2:03 PM, Dimitry Sibiryakov wrote:
18.11.2020 17:49, Dimitry Sibiryakov wrote:
   How long pointer returned from IStatus::getErrors() is supposed to be valid?

  I think I found a weird case. In Y-valve there is code like this:

  status.setErrors(status.getErrors());

  During such self assignment returned pointer can be invalidated by setErrors() code before using input parameter which may cause crash or wrong result.


Builtin implementation works fine with your particular sample. But I fully agree that such call patterns should better be avoided (for example using Arg::StatusVector for intermediate vector). Where does it happen in yvalve?




Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to