Skip Menu |

This queue is for tickets about the DBD-SQLite CPAN distribution.

Report information
The Basics
Id: 35773
Status: resolved
Priority: 0/
Queue: DBD-SQLite

People
Owner: Nobody in particular
Requestors: jw [...] suse.de
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.14
Fixed in: (no value)



Subject: sqlite3_finalize shall not be called twice
one prepare is ended by one finalize, each bind is ended by a reset (inside the enclosing prepare-finalize). The code as is called finalize after bind.
Subject: sqlite3-finalize.diff
--- dbdimp.c +++ dbdimp.c @@ -399,7 +399,7 @@ sqlite_st_execute (SV *sth, imp_sth_t *i continue; } /* There are bug reports that say this should be sqlite3_reset() */ - sqlite3_finalize(imp_sth->stmt); + sqlite3_reset(imp_sth->stmt); sqlite_error(sth, (imp_xxh_t*)imp_sth, imp_sth->retval, (char*)sqlite3_errmsg(imp_dbh->db)); return -5; } @@ -419,7 +419,7 @@ sqlite_st_execute (SV *sth, imp_sth_t *i sqlite_trace(5, "exec ok - %d rows, %d cols\n", imp_sth->nrow, DBIc_NUM_FIELDS(imp_sth)); return 0; /* There are bug reports that say this should be sqlite3_reset() */ - default: sqlite3_finalize(imp_sth->stmt); + default: sqlite3_reset(imp_sth->stmt); sqlite_error(sth, (imp_xxh_t*)imp_sth, imp_sth->retval, (char*)sqlite3_errmsg(imp_dbh->db)); return -6; }
Applied