[Python-checkins] cpython (2.7): fix refleak in null-containing error case (#21147)

benjamin.peterson python-checkins at python.org
Sat Dec 3 15:01:36 EST 2016


https://hg.python.org/cpython/rev/e358aaf9563f
changeset:   105429:e358aaf9563f
branch:      2.7
user:        Benjamin Peterson <benjamin at python.org>
date:        Sat Dec 03 12:01:32 2016 -0800
summary:
  fix refleak in null-containing error case (#21147)

files:
  Modules/_sqlite/statement.c |  3 ++-
  1 files changed, 2 insertions(+), 1 deletions(-)


diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -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;
     }

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list