[Python-checkins] [Python-Dev] cpython: Fix #14600. Correct reference handling and naming of ImportError convenience

Mark Shannon mark at hotpy.org
Wed Apr 18 13:23:24 CEST 2012


Nick Coghlan wrote:
> On Wed, Apr 18, 2012 at 7:57 AM, brian.curtin
> <python-checkins at python.org> wrote:
>> diff --git a/Python/errors.c b/Python/errors.c
>> --- a/Python/errors.c
>> +++ b/Python/errors.c
>> @@ -586,50 +586,43 @@
>>  #endif /* MS_WINDOWS */
>>
>>  PyObject *
>> -PyErr_SetExcWithArgsKwargs(PyObject *exc, PyObject *args, PyObject *kwargs)
>> +PyErr_SetImportError(PyObject *msg, PyObject *name, PyObject *path)
>>  {
>> -    PyObject *val;
>> +    PyObject *args, *kwargs, *error;
>> +
>> +    args = PyTuple_New(1);
>> +    if (args == NULL)
>> +        return NULL;
>> +
>> +    kwargs = PyDict_New();
>> +    if (args == NULL)
>> +        return NULL;

Check return value of PyDict_New();
and DECREF args if it fails.

>> +
>> +    if (name == NULL)
>> +        name = Py_None;
>> +
>> +    if (path == NULL)
>> +        path = Py_None;
> 
> Py_INCREF's?
> 
> Regards,
> Nick.
> 



More information about the Python-checkins mailing list