sqlite3: Handle strings with embedded zeros correctly

Closes #13676.
This commit is contained in:
Petri Lehtinen 2012-02-01 22:18:19 +02:00
parent fc3ba6b8fc
commit 023fe334bb
5 changed files with 54 additions and 9 deletions

View file

@ -129,9 +129,9 @@ int pysqlite_statement_bind_parameter(pysqlite_Statement* self, int pos, PyObjec
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;