diff Python/codecs.c @ 12648:2a53f5dc0590 legacy-trunk

M.-A. Lemburg <mal@lemburg.com>: Moved some docs to the include file. Added a NULL check to _PyCodec_Lookup() to make it core dump safe.
author Fred Drake <fdrake@acm.org>
date Tue, 09 May 2000 19:55:59 +0000
parents 70154e2e9c89
children 8c8de5b736dc
line wrap: on
line diff
--- a/Python/codecs.c	Tue May 09 19:55:16 2000 +0000
+++ b/Python/codecs.c	Tue May 09 19:55:59 2000 +0000
@@ -55,14 +55,6 @@
     return 0;
 }
 
-/* Register a new codec search function.
-
-   As side effect, this tries to load the encodings package, if not
-   yet done, to make sure that it is always first in the list of
-   search functions.
-
-   The search_function's refcount is incremented by this function. */
-
 int PyCodec_Register(PyObject *search_function)
 {
     if (!import_encodings_called) {
@@ -117,7 +109,7 @@
    characters. This makes encodings looked up through this mechanism
    effectively case-insensitive.
 
-   If no codec is found, a KeyError is set and NULL returned. 
+   If no codec is found, a LookupError is set and NULL returned. 
 
    As side effect, this tries to load the encodings package, if not
    yet done. This is part of the lazy load strategy for the encodings
@@ -130,6 +122,10 @@
     PyObject *result, *args = NULL, *v;
     int i, len;
 
+    if (encoding == NULL) {
+	PyErr_BadArgument();
+	goto onError;
+    }
     if (_PyCodec_SearchCache == NULL || 
 	_PyCodec_SearchPath == NULL) {
 	PyErr_SetString(PyExc_SystemError,