[Midnightbsd-cvs] src [7683] trunk/lib/libmport: fix a double free and add retry code on a locked database
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Aug 7 16:04:33 EDT 2016
Revision: 7683
http://svnweb.midnightbsd.org/src/?rev=7683
Author: laffer1
Date: 2016-08-07 16:04:33 -0400 (Sun, 07 Aug 2016)
Log Message:
-----------
fix a double free and add retry code on a locked database
Modified Paths:
--------------
trunk/lib/libmport/bundle_read_install_pkg.c
trunk/lib/libmport/db.c
Modified: trunk/lib/libmport/bundle_read_install_pkg.c
===================================================================
--- trunk/lib/libmport/bundle_read_install_pkg.c 2016-08-07 15:59:19 UTC (rev 7682)
+++ trunk/lib/libmport/bundle_read_install_pkg.c 2016-08-07 20:04:33 UTC (rev 7683)
@@ -272,6 +272,11 @@
int ret = sqlite3_step(stmt);
+ if (ret == SQLITE_BUSY || ret == SQLITE_LOCKED) {
+ sleep(1);
+ ret = sqlite3_step(stmt);
+ }
+
if (ret == SQLITE_DONE)
break;
Modified: trunk/lib/libmport/db.c
===================================================================
--- trunk/lib/libmport/db.c 2016-08-07 15:59:19 UTC (rev 7682)
+++ trunk/lib/libmport/db.c 2016-08-07 20:04:33 UTC (rev 7683)
@@ -69,12 +69,10 @@
if (sqlcode == SQLITE_BUSY || sqlcode == SQLITE_LOCKED) {
sleep(1);
if (sqlite3_exec(db, sql, 0, 0, 0) != SQLITE_OK) {
- sqlite3_free(sql);
err = (char *) sqlite3_errmsg(db);
result = MPORT_ERR_FATAL;
}
} else if (sqlcode != SQLITE_OK) {
- sqlite3_free(sql);
err = (char *) sqlite3_errmsg(db);
result = MPORT_ERR_FATAL;
}
More information about the Midnightbsd-cvs
mailing list