summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc-André Lemburg <mal@egenix.com>2002-05-29 11:33:13 (GMT)
committerMarc-André Lemburg <mal@egenix.com>2002-05-29 11:33:13 (GMT)
commit4da6fd63bc431468e9622341ac410c55a54c7b9b (patch)
treeb769b8a401f54d855e3f2a98fb68715654385e9e
parent1e1542fcff7d7796f8e88eb3954cc182c7161c51 (diff)
downloadcpython-4da6fd63bc431468e9622341ac410c55a54c7b9b.zip
cpython-4da6fd63bc431468e9622341ac410c55a54c7b9b.tar.gz
cpython-4da6fd63bc431468e9622341ac410c55a54c7b9b.tar.bz2
Fix for bug [ 561796 ] string.find causes lazy error
-rw-r--r--Include/unicodeobject.h3
-rw-r--r--Objects/unicodeobject.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
index 103649d..d0a2885 100644
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -983,7 +983,8 @@ extern DL_IMPORT(int) PyUnicode_Tailmatch(
);
/* Return the first position of substr in str[start:end] using the
- given search direction or -1 if not found. */
+ given search direction or -1 if not found. -2 is returned in case
+ an error occurred and an exception is set. */
extern DL_IMPORT(int) PyUnicode_Find(
PyObject *str, /* String */
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 0ac4941..e24453d 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -2887,11 +2887,11 @@ int PyUnicode_Find(PyObject *str,
str = PyUnicode_FromObject(str);
if (str == NULL)
- return -1;
+ return -2;
substr = PyUnicode_FromObject(substr);
if (substr == NULL) {
Py_DECREF(substr);
- return -1;
+ return -2;
}
result = findstring((PyUnicodeObject *)str,