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
- 

Reply via email to