summaryrefslogtreecommitdiff
path: root/lib/lua/sqlite/sqlite.c
diff options
context:
space:
mode:
authortpaul <tpaul@NetBSD.org>2019-05-16 12:42:35 +0000
committertpaul <tpaul@NetBSD.org>2019-05-16 12:42:35 +0000
commit7225c8e7e3006a3829d76d8e31348556d0c9d0b0 (patch)
tree281b10fada2a2c35feb45234d388a89eba2d1835 /lib/lua/sqlite/sqlite.c
parent6867a5cf9d073b2b673fb66a9d4e1591fad62e0d (diff)
Prevent Lua from crashing if clear_bindings() is called on a statement
that failed to prepare(). ok mbalmer@
Diffstat (limited to 'lib/lua/sqlite/sqlite.c')
-rw-r--r--lib/lua/sqlite/sqlite.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/lua/sqlite/sqlite.c b/lib/lua/sqlite/sqlite.c
index e843d2e74fa..e3677bdb704 100644
--- a/lib/lua/sqlite/sqlite.c
+++ b/lib/lua/sqlite/sqlite.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sqlite.c,v 1.9 2017/05/10 07:36:01 mbalmer Exp $ */
+/* $NetBSD: sqlite.c,v 1.10 2019/05/16 12:42:35 tpaul Exp $ */
/*
* Copyright (c) 2011, 2013, 2016, 2017 Marc Balmer <marc@msys.ch>
@@ -336,7 +336,10 @@ stmt_clear_bindings(lua_State *L)
sqlite3_stmt **stmt;
stmt = luaL_checkudata(L, 1, SQLITE_STMT_METATABLE);
- sqlite3_clear_bindings(*stmt);
+ if (*stmt) {
+ sqlite3_clear_bindings(*stmt);
+ *stmt = NULL;
+ }
return 0;
}