From c3906473fdf90eb0953f8d0ea9c0a1f87e44e98b Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Sun, 26 Dec 2021 18:04:59 +0100 Subject: fix a panic in Statement.prepare if the query is empty sqlite3_prepare_v2 doesn't return an error code if the input query string is empty or is a comment, instead the statement will be null. --- sqlite.zig | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sqlite.zig') diff --git a/sqlite.zig b/sqlite.zig index a87be5c..29514dd 100644 --- a/sqlite.zig +++ b/sqlite.zig @@ -1249,6 +1249,13 @@ pub const DynamicStatement = struct { diags.err = getLastDetailedErrorFromDb(db.db); return errors.errorFromResultCode(result); } + if (tmp == null) { + diags.err = .{ + .code = 0, + .message = "the input query is not valid SQL (empty string or a comment)", + }; + return error.SQLiteError; + } break :blk tmp.?; }; return Self{ -- cgit v1.2.3