From 7de12818f258c02f82c4a3ffa9834523811987ad Mon Sep 17 00:00:00 2001 From: Vincent Rischmann Date: Sun, 21 Aug 2022 13:58:22 +0200 Subject: fuzz: reread the data from the table --- fuzz/main.zig | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'fuzz') diff --git a/fuzz/main.zig b/fuzz/main.zig index 075b7ff..98a1577 100644 --- a/fuzz/main.zig +++ b/fuzz/main.zig @@ -43,4 +43,33 @@ pub fn zigMain() !void { error.SQLiteError => return, else => return err, }; + + var stmt = db.prepareDynamic("SELECT name, data FROM test") catch |err| switch (err) { + error.SQLiteError => return, + else => return err, + }; + defer stmt.deinit(); + + var rows_arena = std.heap.ArenaAllocator.init(allocator); + defer rows_arena.deinit(); + + const row_opt = stmt.oneAlloc( + struct { + name: sqlite.Text, + data: sqlite.Blob, + }, + rows_arena.allocator(), + .{}, + .{}, + ) catch |err| switch (err) { + error.SQLiteError => return, + else => return err, + }; + + if (row_opt) |row| { + if (!std.mem.eql(u8, row.name.data, data)) return error.InvalidNameField; + if (!std.mem.eql(u8, row.data.data, data)) return error.InvalidDataField; + } else { + return error.NoRowsFound; + } } -- cgit v1.2.3