From: Benjamin Peterson Date: Sat, 3 Dec 2016 20:01:32 +0000 (-0800) Subject: fix refleak in null-containing error case (#21147) X-Git-Tag: v2.7.13rc1~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=26c985a8aac1640b5cda1ff278f749933aa118c3;p=python fix refleak in null-containing error case (#21147) --- diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c index 04fcc5b41f..5d6263c8e6 100644 --- a/Modules/_sqlite/statement.c +++ b/Modules/_sqlite/statement.c @@ -74,8 +74,9 @@ int pysqlite_statement_create(pysqlite_Statement* self, pysqlite_Connection* con 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; }