summaryrefslogtreecommitdiff
path: root/Modules/_sqlite/statement.c
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2012-02-01 22:20:12 +0200
committerPetri Lehtinen <petri@digip.org>2012-02-01 22:20:13 +0200
commit0518f470b1bb99b0b8878224942ebf1e18d1e74f (patch)
treeb29a19f36e098881236b45dabc286f1799d08e88 /Modules/_sqlite/statement.c
parent6ab9813605213dafaea23e2907d25467b6a52178 (diff)
downloadcpython-git-0518f470b1bb99b0b8878224942ebf1e18d1e74f.tar.gz
sqlite3: Handle strings with embedded zeros correctly
Closes #13676.
Diffstat (limited to 'Modules/_sqlite/statement.c')
-rw-r--r--Modules/_sqlite/statement.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index 9d08f2bd09..c777211f55 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -166,13 +166,13 @@ int pysqlite_statement_bind_parameter(pysqlite_Statement* self, int pos, PyObjec
rc = sqlite3_bind_double(self->st, pos, PyFloat_AsDouble(parameter));
break;
case TYPE_STRING:
- string = PyString_AS_STRING(parameter);
- rc = sqlite3_bind_text(self->st, pos, string, -1, SQLITE_TRANSIENT);
+ PyString_AsStringAndSize(parameter, &string, &buflen);
+ rc = sqlite3_bind_text(self->st, pos, string, buflen, SQLITE_TRANSIENT);
break;
case TYPE_UNICODE:
stringval = PyUnicode_AsUTF8String(parameter);
- string = PyString_AsString(stringval);
- rc = sqlite3_bind_text(self->st, pos, string, -1, SQLITE_TRANSIENT);
+ PyString_AsStringAndSize(stringval, &string, &buflen);
+ rc = sqlite3_bind_text(self->st, pos, string, buflen, SQLITE_TRANSIENT);
Py_DECREF(stringval);
break;
case TYPE_BUFFER: