Bug#450744: libdbd-sqlite3-perl: segv re-using statement after error

Niko Tyni ntyni at iki.fi
Sat Nov 10 19:36:54 UTC 2007


forwarded 450744 http://rt.cpan.org/Public/Bug/Display.html?id=30558
tag 450744 patch
thanks

On Sat, Nov 10, 2007 at 07:50:17AM +1100, Kevin Ryde wrote:
> Package: libdbd-sqlite3-perl
> Version: 1.14-1
> Severity: normal
> 
 
> I suspect that when sqlite_st_execute gets an "insert" error like this
> it ends up freeing the underlying "sqlite3_stmt" object, so that a
> further execute of it bombs.  I think the free is done by the following
> line in sqlite_st_execute (the first one, at "return -5"),
> 
>     /* There are bug reports that say this should be sqlite3_reset() */
>     sqlite3_finalize(imp_sth->stmt);

Hi,

I agree, it indeed looks like this should be sqlite3_reset().

The same issue is reported upstream as CPAN #30558:

 http://rt.cpan.org/Public/Bug/Display.html?id=30558

I'll forward your comments there. It would be nice to have this fixed
upstream, although the fix looks quite safe and doesn't break anything
in the DBD::SQLite test suite.

Thanks for your report,
-- 
Niko Tyni   ntyni at iki.fi





More information about the pkg-perl-maintainers mailing list