diff Modules/_sqlite/statement.c @ 74708:2e13011b3719 3.2

sqlite3: Handle strings with embedded zeros correctly Closes #13676.
author Petri Lehtinen <petri@digip.org>
date Wed, 01 Feb 2012 22:18:19 +0200
parents e9cd15d539e1
children 55a89352e220 6f4044afa600
line wrap: on
line diff
--- a/Modules/_sqlite/statement.c	Wed Feb 01 09:07:40 2012 -0800
+++ b/Modules/_sqlite/statement.c	Wed Feb 01 22:18:19 2012 +0200
@@ -129,9 +129,9 @@
             rc = sqlite3_bind_double(self->st, pos, PyFloat_AsDouble(parameter));
             break;
         case TYPE_UNICODE:
-            string = _PyUnicode_AsString(parameter);
+            string = _PyUnicode_AsStringAndSize(parameter, &buflen);
             if (string != NULL)
-                rc = sqlite3_bind_text(self->st, pos, string, -1, SQLITE_TRANSIENT);
+                rc = sqlite3_bind_text(self->st, pos, string, buflen, SQLITE_TRANSIENT);
             else
                 rc = -1;
             break;