[Midnightbsd-cvs] src [7675] trunk/lib/libmport: call finalize when we fail
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Aug 7 00:58:56 EDT 2016
Revision: 7675
http://svnweb.midnightbsd.org/src/?rev=7675
Author: laffer1
Date: 2016-08-07 00:58:55 -0400 (Sun, 07 Aug 2016)
Log Message:
-----------
call finalize when we fail
Modified Paths:
--------------
trunk/lib/libmport/bundle_read.c
trunk/lib/libmport/bundle_read_install_pkg.c
trunk/lib/libmport/bundle_read_update_pkg.c
trunk/lib/libmport/check_preconditions.c
trunk/lib/libmport/index.c
trunk/lib/libmport/index_depends.c
trunk/lib/libmport/merge_primative.c
trunk/lib/libmport/setting.c
trunk/lib/libmport/stats.c
trunk/lib/libmport/update_primative.c
trunk/lib/libmport/verify.c
Modified: trunk/lib/libmport/bundle_read.c
===================================================================
--- trunk/lib/libmport/bundle_read.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/bundle_read.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -258,9 +258,10 @@
bundle->stub_attached = 1;
- if (mport_db_prepare(mport->db, &stmt, "SELECT value FROM stub.meta WHERE field='bundle_format_version'") != MPORT_OK)
- RETURN_CURRENT_ERROR;
-
+ if (mport_db_prepare(mport->db, &stmt, "SELECT value FROM stub.meta WHERE field='bundle_format_version'") != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
ret = sqlite3_step(stmt);
switch (ret) {
Modified: trunk/lib/libmport/bundle_read_install_pkg.c
===================================================================
--- trunk/lib/libmport/bundle_read_install_pkg.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/bundle_read_install_pkg.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -104,8 +104,10 @@
RETURN_CURRENT_ERROR;
/* Process @preexec steps */
- if (mport_db_prepare(db, &assets, "SELECT type, data FROM stub.assets WHERE pkg=%Q and type in (%d, %d)", pkg->name, ASSET_CWD, ASSET_PREEXEC) != MPORT_OK)
- goto ERROR;
+ if (mport_db_prepare(db, &assets, "SELECT type, data FROM stub.assets WHERE pkg=%Q and type in (%d, %d)", pkg->name, ASSET_CWD, ASSET_PREEXEC) != MPORT_OK) {
+ sqlite3_finalize(assets);
+ goto ERROR;
+ }
(void) strlcpy(cwd, pkg->prefix, sizeof(cwd));
@@ -160,8 +162,10 @@
if (mport_db_prepare(mport->db, &count,
"SELECT COUNT(*) FROM stub.assets WHERE (type=%i or type=%i or type=%i or type=%i) AND pkg=%Q",
- ASSET_FILE, ASSET_SAMPLE, ASSET_SHELL, ASSET_FILE_OWNER_MODE, pkg_name) != MPORT_OK)
+ ASSET_FILE, ASSET_SAMPLE, ASSET_SHELL, ASSET_FILE_OWNER_MODE, pkg_name) != MPORT_OK) {
+ sqlite3_finalize(count);
RETURN_CURRENT_ERROR;
+ }
switch (sqlite3_step(count)) {
case SQLITE_ROW:
@@ -253,8 +257,9 @@
RETURN_CURRENT_ERROR;
}
- if (stmt == NULL)
- RETURN_CURRENT_ERROR;
+ if (stmt == NULL) {
+ RETURN_ERROR(MPORT_ERR_FATAL, "Statement was null");
+ }
while (1) {
ret = sqlite3_step(stmt);
@@ -649,8 +654,8 @@
return MPORT_OK;
ERROR:
+ sqlite3_finalize(insert);
mport_pkgmeta_logevent(mport, pkg, "Failed to Install");
- sqlite3_finalize(insert);
(mport->progress_free_cb)();
free(orig_cwd);
mport_assetlist_free(alist);
@@ -716,8 +721,10 @@
db = mport->db;
/* Process @postexec steps */
- if (mport_db_prepare(db, &assets, "SELECT type, data FROM stub.assets WHERE pkg=%Q and type in (%d, %d)", pkg->name, ASSET_CWD, ASSET_POSTEXEC) != MPORT_OK)
- goto ERROR;
+ if (mport_db_prepare(db, &assets, "SELECT type, data FROM stub.assets WHERE pkg=%Q and type in (%d, %d)", pkg->name, ASSET_CWD, ASSET_POSTEXEC) != MPORT_OK) {
+ sqlite3_finalize(assets);
+ goto ERROR;
+ }
(void) strlcpy(cwd, pkg->prefix, sizeof(cwd));
Modified: trunk/lib/libmport/bundle_read_update_pkg.c
===================================================================
--- trunk/lib/libmport/bundle_read_update_pkg.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/bundle_read_update_pkg.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__MBSDID("$MidnightBSD: src/lib/libmport/bundle_read_update_pkg.c,v 1.8 2011/07/24 15:59:08 laffer1 Exp $");
+__MBSDID("$MidnightBSD$");
#include "mport.h"
#include "mport_private.h"
@@ -170,8 +170,10 @@
sqlite3_stmt *stmt;
char *entry;
- if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM depends WHERE pkg=%Q", pkg->name) != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM depends WHERE pkg=%Q", pkg->name) != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
ret = sqlite3_step(stmt);
@@ -193,8 +195,10 @@
if ((extra->depends = (char **)calloc(count + 1, sizeof(char *))) == NULL)
RETURN_ERROR(MPORT_ERR_FATAL, "Out of memory.");
- if (mport_db_prepare(mport->db, &stmt, "SELECT depend_pkgname, depend_pkgversion, depend_port FROM depends WHERE pkg=%Q", pkg->name) != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(mport->db, &stmt, "SELECT depend_pkgname, depend_pkgversion, depend_port FROM depends WHERE pkg=%Q", pkg->name) != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
i = 0;
while (1) {
Modified: trunk/lib/libmport/check_preconditions.c
===================================================================
--- trunk/lib/libmport/check_preconditions.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/check_preconditions.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -81,8 +81,10 @@
char *system_os_release;
/* check if the package is already installed */
- if (mport_db_prepare(db, &stmt, "SELECT version, os_release FROM packages WHERE pkg=%Q", pack->name) != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(db, &stmt, "SELECT version, os_release FROM packages WHERE pkg=%Q", pack->name) != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
switch (sqlite3_step(stmt)) {
case SQLITE_DONE:
@@ -123,15 +125,19 @@
int ret;
const char *inst_name, *inst_version;
- if (mport_db_prepare(db, &stmt, "SELECT packages.pkg, packages.version FROM stub.conflicts LEFT JOIN packages ON packages.pkg GLOB stub.conflicts.conflict_pkg AND packages.version GLOB stub.conflicts.conflict_version WHERE stub.conflicts.pkg=%Q AND packages.pkg IS NOT NULL", pack->name) != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(db, &stmt,
+ "SELECT packages.pkg, packages.version FROM stub.conflicts LEFT JOIN packages ON packages.pkg GLOB stub.conflicts.conflict_pkg AND packages.version GLOB stub.conflicts.conflict_version WHERE stub.conflicts.pkg=%Q AND packages.pkg IS NOT NULL", pack->name) != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
+
while (1) {
ret = sqlite3_step(stmt);
if (ret == SQLITE_ROW) {
- inst_name = sqlite3_column_text(stmt, 0);
- inst_version = sqlite3_column_text(stmt, 1);
+ inst_name = (const char *) sqlite3_column_text(stmt, 0);
+ inst_version = (const char *) sqlite3_column_text(stmt, 1);
SET_ERRORX(MPORT_ERR_FATAL, "Installed package %s-%s conflicts with %s", inst_name, inst_version, pack->name);
sqlite3_finalize(stmt);
Modified: trunk/lib/libmport/index.c
===================================================================
--- trunk/lib/libmport/index.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/index.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -196,8 +196,10 @@
sqlite3_stmt *stmt;
/* XXX the country is hard coded until a configuration system is created */
- if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM idx.mirrors WHERE country='us'") != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM idx.mirrors WHERE country='us'") != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
switch (sqlite3_step(stmt)) {
case SQLITE_ROW:
@@ -220,8 +222,10 @@
*list_p = list;
i = 0;
- if (mport_db_prepare(mport->db, &stmt, "SELECT mirror FROM idx.mirrors WHERE country='us'") != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(mport->db, &stmt, "SELECT mirror FROM idx.mirrors WHERE country='us'") != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
while (1) {
ret = sqlite3_step(stmt);
@@ -271,8 +275,10 @@
if (lookup_alias(mport, pkgname, &lookup) != MPORT_OK)
RETURN_CURRENT_ERROR;
- if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM idx.packages WHERE pkg GLOB %Q", lookup) != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(mport->db, &stmt, "SELECT COUNT(*) FROM idx.packages WHERE pkg GLOB %Q", lookup) != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
switch (sqlite3_step(stmt)) {
case SQLITE_ROW:
Modified: trunk/lib/libmport/index_depends.c
===================================================================
--- trunk/lib/libmport/index_depends.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/index_depends.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__MBSDID("$MidnightBSD: src/lib/libmport/index_depends.c,v 1.1 2013/03/17 18:06:18 laffer1 Exp $");
+__MBSDID("$MidnightBSD$");
#include "mport.h"
#include "mport_private.h"
@@ -57,8 +57,10 @@
if (mport_db_prepare(mport->db, &stmt,
"SELECT COUNT(*) FROM idx.depends WHERE pkg = %Q and version = %Q",
- pkgname, version) != MPORT_OK)
+ pkgname, version) != MPORT_OK) {
+ sqlite3_finalize(stmt);
RETURN_CURRENT_ERROR;
+ }
switch (sqlite3_step(stmt)) {
case SQLITE_ROW:
Modified: trunk/lib/libmport/merge_primative.c
===================================================================
--- trunk/lib/libmport/merge_primative.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/merge_primative.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -271,8 +271,10 @@
ret = MPORT_OK;
- if (mport_db_prepare(db, &stmt, "SELECT pkg FROM packages") != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(db, &stmt, "SELECT pkg FROM packages") != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
while (1) {
sret = sqlite3_step(stmt);
@@ -357,8 +359,10 @@
mportBundleRead *inbundle;
struct archive_entry *entry;
- if (mport_db_prepare(db, &stmt, "SELECT pkg FROM packages") != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(db, &stmt, "SELECT pkg FROM packages") != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
while (1) {
ret = sqlite3_step(stmt);
Modified: trunk/lib/libmport/setting.c
===================================================================
--- trunk/lib/libmport/setting.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/setting.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -42,8 +42,10 @@
if (name == NULL)
return NULL;
- if (mport_db_prepare(mport->db, &stmt, "SELECT val FROM settings WHERE name=%Q", name) != MPORT_OK)
- return NULL;
+ if (mport_db_prepare(mport->db, &stmt, "SELECT val FROM settings WHERE name=%Q", name) != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ return NULL;
+ }
switch (sqlite3_step(stmt)) {
case SQLITE_ROW:
Modified: trunk/lib/libmport/stats.c
===================================================================
--- trunk/lib/libmport/stats.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/stats.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -36,8 +36,10 @@
*stats = s;
- if (mport_db_prepare(db, &stmt, "SELECT COUNT(*) FROM packages") != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(db, &stmt, "SELECT COUNT(*) FROM packages") != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
if (sqlite3_step(stmt) != SQLITE_ROW) {
sqlite3_finalize(stmt);
@@ -47,8 +49,10 @@
s->pkg_installed = (unsigned int) sqlite3_column_int(stmt, 0);
sqlite3_finalize(stmt);
- if (mport_db_prepare(db, &stmt, "SELECT COUNT(*) FROM idx.packages") != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(db, &stmt, "SELECT COUNT(*) FROM idx.packages") != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
if (sqlite3_step(stmt) != SQLITE_ROW) {
sqlite3_finalize(stmt);
Modified: trunk/lib/libmport/update_primative.c
===================================================================
--- trunk/lib/libmport/update_primative.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/update_primative.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -86,8 +86,10 @@
int ret = MPORT_OK;
const char *prefix;
- if (mport_db_prepare(mport->db, &stmt, "SELECT prefix FROM packages WHERE pkg=%Q", pkg->name) != MPORT_OK)
- RETURN_CURRENT_ERROR;
+ if (mport_db_prepare(mport->db, &stmt, "SELECT prefix FROM packages WHERE pkg=%Q", pkg->name) != MPORT_OK) {
+ sqlite3_finalize(stmt);
+ RETURN_CURRENT_ERROR;
+ }
switch (sqlite3_step(stmt)) {
case SQLITE_ROW:
Modified: trunk/lib/libmport/verify.c
===================================================================
--- trunk/lib/libmport/verify.c 2016-08-07 03:36:51 UTC (rev 7674)
+++ trunk/lib/libmport/verify.c 2016-08-07 04:58:55 UTC (rev 7675)
@@ -49,8 +49,10 @@
char md5[33];
mport_call_msg_cb(mport, "Verifying %s-%s", pack->name, pack->version);
- if (mport_db_prepare(mport->db, &stmt, "SELECT type,data,checksum FROM assets WHERE pkg=%Q", pack->name) != MPORT_OK)
+ if (mport_db_prepare(mport->db, &stmt, "SELECT type,data,checksum FROM assets WHERE pkg=%Q", pack->name) != MPORT_OK) {
+ sqlite3_finalize(stmt);
RETURN_CURRENT_ERROR;
+ }
while (1) {
ret = sqlite3_step(stmt);
More information about the Midnightbsd-cvs
mailing list