guard oversized blob length in callbackRetBlob

This commit is contained in:
dxbjavid
2026-06-05 20:44:39 +05:30
parent 78b95b7777
commit 5f1e21dd1e

View File

@@ -336,6 +336,10 @@ func callbackRetBlob(ctx *C.sqlite3_context, v reflect.Value) error {
C.sqlite3_result_null(ctx) C.sqlite3_result_null(ctx)
} else { } else {
bs := i.([]byte) bs := i.([]byte)
if i64 && len(bs) > math.MaxInt32 {
C.sqlite3_result_error_toobig(ctx)
return nil
}
C._sqlite3_result_blob(ctx, unsafe.Pointer(&bs[0]), C.int(len(bs))) C._sqlite3_result_blob(ctx, unsafe.Pointer(&bs[0]), C.int(len(bs)))
} }
return nil return nil