!3 fix testcase failure
Merge pull request !3 from lyn/openEuler-22.03-LTS-Next
This commit is contained in:
commit
92bb303c21
108
Remove-deprecated-taint-followup.patch
Normal file
108
Remove-deprecated-taint-followup.patch
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
diff -Nur a/ext/sqlite3/database.c b/ext/sqlite3/database.c
|
||||||
|
--- a/ext/sqlite3/database.c 2022-01-27 14:30:56.122375149 +0800
|
||||||
|
+++ b/ext/sqlite3/database.c 2022-01-27 14:30:45.214194939 +0800
|
||||||
|
@@ -57,7 +57,9 @@
|
||||||
|
rb_scan_args(argc, argv, "12", &file, &opts, &zvfs);
|
||||||
|
#if defined StringValueCStr
|
||||||
|
StringValuePtr(file);
|
||||||
|
+#if defined TAINTING_SUPPORT
|
||||||
|
rb_check_safe_obj(file);
|
||||||
|
+#endif
|
||||||
|
#else
|
||||||
|
Check_SafeStr(file);
|
||||||
|
#endif
|
||||||
|
@@ -307,7 +309,7 @@
|
||||||
|
return rb_float_new(sqlite3_value_double(val));
|
||||||
|
break;
|
||||||
|
case SQLITE_TEXT:
|
||||||
|
- return rb_tainted_str_new2((const char *)sqlite3_value_text(val));
|
||||||
|
+ return rb_str_new2((const char *)sqlite3_value_text(val));
|
||||||
|
break;
|
||||||
|
case SQLITE_BLOB: {
|
||||||
|
/* Sqlite warns calling sqlite3_value_bytes may invalidate pointer from sqlite3_value_blob,
|
||||||
|
@@ -317,7 +319,7 @@
|
||||||
|
*/
|
||||||
|
int len = sqlite3_value_bytes(val);
|
||||||
|
#ifdef HAVE_RUBY_ENCODING_H
|
||||||
|
- return rb_tainted_str_new((const char *)sqlite3_value_blob(val), len);
|
||||||
|
+ return rb_str_new((const char *)sqlite3_value_blob(val), len);
|
||||||
|
#else
|
||||||
|
/* When encoding is not available, make it class SQLite3::Blob. */
|
||||||
|
VALUE strargv[1];
|
||||||
|
diff -Nur a/ext/sqlite3/extconf.rb b/ext/sqlite3/extconf.rb
|
||||||
|
--- a/ext/sqlite3/extconf.rb 2022-01-27 14:30:56.122375149 +0800
|
||||||
|
+++ b/ext/sqlite3/extconf.rb 2022-01-27 14:29:34.125020499 +0800
|
||||||
|
@@ -33,6 +33,10 @@
|
||||||
|
$CFLAGS << ' -W3'
|
||||||
|
end
|
||||||
|
|
||||||
|
+if RUBY_VERSION < '2.7'
|
||||||
|
+ $CFLAGS << ' -DTAINTING_SUPPORT'
|
||||||
|
+end
|
||||||
|
+
|
||||||
|
def asplode missing
|
||||||
|
if RUBY_PLATFORM =~ /mingw|mswin/
|
||||||
|
abort "#{missing} is missing. Install SQLite3 from " +
|
||||||
|
diff -Nur a/ext/sqlite3/statement.c b/ext/sqlite3/statement.c
|
||||||
|
--- a/ext/sqlite3/statement.c 2022-01-27 14:30:56.126375215 +0800
|
||||||
|
+++ b/ext/sqlite3/statement.c 2022-01-27 14:29:34.125020499 +0800
|
||||||
|
@@ -148,7 +148,7 @@
|
||||||
|
break;
|
||||||
|
case SQLITE_TEXT:
|
||||||
|
{
|
||||||
|
- VALUE str = rb_tainted_str_new(
|
||||||
|
+ VALUE str = rb_str_new(
|
||||||
|
(const char *)sqlite3_column_text(stmt, i),
|
||||||
|
(long)sqlite3_column_bytes(stmt, i)
|
||||||
|
);
|
||||||
|
@@ -162,7 +162,7 @@
|
||||||
|
break;
|
||||||
|
case SQLITE_BLOB:
|
||||||
|
{
|
||||||
|
- VALUE str = rb_tainted_str_new(
|
||||||
|
+ VALUE str = rb_str_new(
|
||||||
|
(const char *)sqlite3_column_blob(stmt, i),
|
||||||
|
(long)sqlite3_column_bytes(stmt, i)
|
||||||
|
);
|
||||||
|
diff -Nur a/test/test_integration_resultset.rb b/test/test_integration_resultset.rb
|
||||||
|
--- a/test/test_integration_resultset.rb 2022-01-27 14:30:56.134375348 +0800
|
||||||
|
+++ b/test/test_integration_resultset.rb 2022-01-27 14:29:34.125020499 +0800
|
||||||
|
@@ -105,23 +105,6 @@
|
||||||
|
assert_equal hash[1], "foo"
|
||||||
|
end
|
||||||
|
|
||||||
|
- def test_tainted_results_as_hash
|
||||||
|
- @db.results_as_hash = true
|
||||||
|
- @result.reset( 1 )
|
||||||
|
- row = @result.next
|
||||||
|
- row.each do |_, v|
|
||||||
|
- assert(v.tainted?) if String === v
|
||||||
|
- end
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- def test_tainted_row_values
|
||||||
|
- @result.reset( 1 )
|
||||||
|
- row = @result.next
|
||||||
|
- row.each do |v|
|
||||||
|
- assert(v.tainted?) if String === v
|
||||||
|
- end
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
def test_each
|
||||||
|
called = 0
|
||||||
|
@result.reset( 1, 2 )
|
||||||
|
diff -Nur a/test/test_statement.rb b/test/test_statement.rb
|
||||||
|
--- a/test/test_statement.rb 2022-01-27 14:30:56.138375414 +0800
|
||||||
|
+++ b/test/test_statement.rb 2022-01-27 14:29:34.125020499 +0800
|
||||||
|
@@ -190,11 +190,6 @@
|
||||||
|
assert_equal ['foo'], r
|
||||||
|
end
|
||||||
|
|
||||||
|
- def test_tainted
|
||||||
|
- r = @stmt.step
|
||||||
|
- assert r.first.tainted?
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
def test_step_twice
|
||||||
|
assert_not_nil @stmt.step
|
||||||
|
assert !@stmt.done?
|
||||||
@ -1,11 +1,12 @@
|
|||||||
%global gem_name sqlite3
|
%global gem_name sqlite3
|
||||||
Name: rubygem-%{gem_name}
|
Name: rubygem-%{gem_name}
|
||||||
Version: 1.3.13
|
Version: 1.3.13
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: Allows Ruby scripts to interface with a SQLite3 database
|
Summary: Allows Ruby scripts to interface with a SQLite3 database
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://github.com/sparklemotion/sqlite3-ruby
|
URL: https://github.com/sparklemotion/sqlite3-ruby
|
||||||
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
|
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
|
||||||
|
Patch0: Remove-deprecated-taint-followup.patch
|
||||||
BuildRequires: ruby(release) rubygems-devel ruby-devel sqlite-devel rubygem(minitest) >= 5.0.0
|
BuildRequires: ruby(release) rubygems-devel ruby-devel sqlite-devel rubygem(minitest) >= 5.0.0
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
%description
|
%description
|
||||||
@ -23,6 +24,7 @@ Documentation for %{name}.
|
|||||||
%prep
|
%prep
|
||||||
gem unpack %{SOURCE0}
|
gem unpack %{SOURCE0}
|
||||||
%setup -q -D -T -n %{gem_name}-%{version}
|
%setup -q -D -T -n %{gem_name}-%{version}
|
||||||
|
%patch0 -p1
|
||||||
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
|
gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -65,5 +67,8 @@ popd
|
|||||||
%{gem_instdir}/test
|
%{gem_instdir}/test
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 27 2022 liyanan <liyanan32@huawei.com> - 1.3.13-2
|
||||||
|
- Remove deprecated taint followup
|
||||||
|
|
||||||
* Fri Jul 24 2020 zhanghua <zhanghua40@huawei.com> - 1.3.13-1
|
* Fri Jul 24 2020 zhanghua <zhanghua40@huawei.com> - 1.3.13-1
|
||||||
- package init
|
- package init
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user