From 9c63b9f37a24117c022129b0f37736938df5e563 Mon Sep 17 00:00:00 2001 From: Gwenael Treguier Date: Thu, 6 Aug 2015 21:45:54 +0200 Subject: [PATCH] Check Rust blob length before binding. --- src/types.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/types.rs b/src/types.rs index f55a80e..5ad4ed7 100644 --- a/src/types.rs +++ b/src/types.rs @@ -122,6 +122,9 @@ impl ToSql for String { impl<'a> ToSql for &'a [u8] { unsafe fn bind_parameter(&self, stmt: *mut sqlite3_stmt, col: c_int) -> c_int { + if self.len() > ::std::i32::MAX as usize { + return ffi::SQLITE_TOOBIG; + } ffi::sqlite3_bind_blob( stmt, col, mem::transmute(self.as_ptr()), self.len() as c_int, ffi::SQLITE_TRANSIENT()) }