diff options
author | Petri Lehtinen <petri@digip.org> | 2012-02-01 22:20:12 +0200 |
---|---|---|
committer | Petri Lehtinen <petri@digip.org> | 2012-02-01 22:20:13 +0200 |
commit | 0518f470b1bb99b0b8878224942ebf1e18d1e74f (patch) | |
tree | b29a19f36e098881236b45dabc286f1799d08e88 /Modules/_sqlite/statement.c | |
parent | 6ab9813605213dafaea23e2907d25467b6a52178 (diff) | |
download | cpython-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.c | 8 |
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: |