changeset: 105429:e358aaf9563f branch: 2.7 user: Benjamin Peterson date: Sat Dec 03 12:01:32 2016 -0800 files: Modules/_sqlite/statement.c description: fix refleak in null-containing error case (#21147) diff -r ea1edf1bf362 -r e358aaf9563f Modules/_sqlite/statement.c --- a/Modules/_sqlite/statement.c Sat Dec 03 11:30:04 2016 -0800 +++ b/Modules/_sqlite/statement.c Sat Dec 03 12:01:32 2016 -0800 @@ -74,8 +74,9 @@ rc = PYSQLITE_SQL_WRONG_TYPE; return rc; } - sql_cstr = PyString_AsString(sql_str); + sql_cstr = PyString_AS_STRING(sql_str); if (strlen(sql_cstr) != (size_t)PyString_GET_SIZE(sql_str)) { + Py_DECREF(sql_str); PyErr_SetString(PyExc_ValueError, "the query contains a null character"); return PYSQLITE_SQL_WRONG_TYPE; }