Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package golang-github-mattn-go-sqlite3 As reported in #854849 (severity: serious), a function in this package causes a cgo pointer panic, due to a change in Golang pointer rules after 1.6. Upstream has solved this issue in a newer release, and this upload is merely a backport of that (and a typo fix in my name). The source debdiff is attached. unblock golang-github-mattn-go-sqlite3/1.1.0~dfsg1-3 -- System Information: Debian Release: 9.0 APT prefers testing APT policy: (500, 'testing'), (100, 'unstable'), (50, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init)
diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog --- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog 2016-10-09 21:51:01.000000000 -0300 +++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/changelog 2017-02-13 07:27:48.000000000 -0300 @@ -1,3 +1,10 @@ +golang-github-mattn-go-sqlite3 (1.1.0~dfsg1-3) unstable; urgency=high + + * Backport commit b76c610 from release 1.2.0 to fix an RC bug. Thanks to + Haruki TSURUMOTO for the patch. Closes: #854849 + + -- Martín Ferrari <tin...@debian.org> Mon, 13 Feb 2017 07:27:48 -0300 + golang-github-mattn-go-sqlite3 (1.1.0~dfsg1-2) unstable; urgency=medium [ Paul Tagliamonte ] diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control --- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control 2016-10-09 21:51:01.000000000 -0300 +++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/control 2017-02-13 07:27:48.000000000 -0300 @@ -3,7 +3,7 @@ Priority: extra Maintainer: pkg-go <pkg-go-maintain...@lists.alioth.debian.org> Uploaders: Alexandre Viau <alexan...@alexandreviau.net>, - Martin Ferrari <tin...@debian.org>, + Martín Ferrari <tin...@debian.org>, Tim Potter <t...@hpe.com>, Build-Depends: debhelper (>= 9), dh-golang, diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch --- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch 1969-12-31 21:00:00.000000000 -0300 +++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/01-Use_libsqlite3_dev.patch 2017-02-13 07:27:48.000000000 -0300 @@ -0,0 +1,29 @@ +Description: Use libsqlite3-dev +Author: Alexandre Viau <alexan...@alexandreviau.net> +Last-Update: 2015-09-03 + +--- a/sqlite3-binding.h ++++ b/sqlite3-binding.h +@@ -1,5 +1 @@ +-#ifndef USE_LIBSQLITE3 +-#include "code/sqlite3-binding.h" +-#else + #include <sqlite3.h> +-#endif +--- a/sqlite3-binding.c ++++ /dev/null +@@ -1,4 +0,0 @@ +-#ifndef USE_LIBSQLITE3 +-# include "code/sqlite3-binding.c" +-#endif +- +--- a/sqlite3_libsqlite3.go ++++ b/sqlite3_libsqlite3.go +@@ -2,7 +2,6 @@ + // + // Use of this source code is governed by an MIT-style + // license that can be found in the LICENSE file. +-// +build libsqlite3 + + package sqlite3 + diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch --- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch 1969-12-31 21:00:00.000000000 -0300 +++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/02-Bug#854849_Fix_bind_cgo.patch 2017-02-13 07:27:48.000000000 -0300 @@ -0,0 +1,21 @@ +This patch fixes cgo's pointer runtime panic +Ported from https://github.com/mattn/go-sqlite3/commit/b76c61051faaf0baf3215e6f811003d98639b702Index: golang-github-mattn-go-sqlite3-1.1.0~dfsg1/sqlite3.go +=================================================================== +--- golang-github-mattn-go-sqlite3-1.1.0~dfsg1.orig/sqlite3.go 2015-09-05 23:49:54.000000000 +0900 ++++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/sqlite3.go 2017-02-11 14:16:40.738620174 +0900 +@@ -480,11 +480,11 @@ + case float64: + rv = C.sqlite3_bind_double(s.s, n, C.double(v)) + case []byte: +- var p *byte +- if len(v) > 0 { +- p = &v[0] ++ if len(v) == 0 { ++ rv = C._sqlite3_bind_blob(s.s, n, nil, 0) ++ } else { ++ rv = C._sqlite3_bind_blob(s.s, n, unsafe.Pointer(&v[0]), C.int(len(v))) + } +- rv = C._sqlite3_bind_blob(s.s, n, unsafe.Pointer(p), C.int(len(v))) + case time.Time: + b := []byte(v.UTC().Format(SQLiteTimestampFormats[0])) + rv = C._sqlite3_bind_text(s.s, n, (*C.char)(unsafe.Pointer(&b[0])), C.int(len(b))) diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series --- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series 2016-10-09 21:51:01.000000000 -0300 +++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/series 2017-02-13 07:27:48.000000000 -0300 @@ -1 +1,2 @@ -use-libsqlite3-dev.patch +01-Use_libsqlite3_dev.patch +02-Bug#854849_Fix_bind_cgo.patch diff -Nru golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch --- golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch 2016-10-09 21:51:01.000000000 -0300 +++ golang-github-mattn-go-sqlite3-1.1.0~dfsg1/debian/patches/use-libsqlite3-dev.patch 1969-12-31 21:00:00.000000000 -0300 @@ -1,29 +0,0 @@ -Description: Use libsqlite3-dev -Author: Alexandre Viau <alexan...@alexandreviau.net> -Last-Update: 2015-09-03 - ---- a/sqlite3-binding.h -+++ b/sqlite3-binding.h -@@ -1,5 +1 @@ --#ifndef USE_LIBSQLITE3 --#include "code/sqlite3-binding.h" --#else - #include <sqlite3.h> --#endif ---- a/sqlite3-binding.c -+++ /dev/null -@@ -1,4 +0,0 @@ --#ifndef USE_LIBSQLITE3 --# include "code/sqlite3-binding.c" --#endif -- ---- a/sqlite3_libsqlite3.go -+++ b/sqlite3_libsqlite3.go -@@ -2,7 +2,6 @@ - // - // Use of this source code is governed by an MIT-style - // license that can be found in the LICENSE file. --// +build libsqlite3 - - package sqlite3 -