summaryrefslogtreecommitdiffstats
path: root/Objects/unicodeobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/unicodeobject.c')
-rw-r--r--Objects/unicodeobject.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 9db87be..4a1cce2 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -9075,12 +9075,15 @@ PyUnicode_Count(PyObject *str,
kind1 = PyUnicode_KIND(str_obj);
kind2 = PyUnicode_KIND(sub_obj);
- kind = kind2;
+ kind = kind1;
buf1 = PyUnicode_DATA(str_obj);
buf2 = PyUnicode_DATA(sub_obj);
if (kind2 != kind) {
- if (kind2 > kind)
- return 0;
+ if (kind2 > kind) {
+ Py_DECREF(sub_obj);
+ Py_DECREF(str_obj);
+ return 0;
+ }
buf2 = _PyUnicode_AsKind(sub_obj, kind);
}
if (!buf2)
@@ -10659,8 +10662,11 @@ PyUnicode_Contains(PyObject *container, PyObject *element)
buf1 = PyUnicode_DATA(str);
buf2 = PyUnicode_DATA(sub);
if (kind2 != kind) {
- if (kind2 > kind)
+ if (kind2 > kind) {
+ Py_DECREF(sub);
+ Py_DECREF(str);
return 0;
+ }
buf2 = _PyUnicode_AsKind(sub, kind);
}
if (!buf2) {