@@ -363,12 +363,6 @@ _mysql_ResultObject_Initialize(
363
363
if (!PyArg_ParseTupleAndKeywords (args , kwargs , "O!|iO" , kwlist ,
364
364
& _mysql_ConnectionObject_Type , & conn , & use , & conv ))
365
365
return -1 ;
366
- if (!conv ) {
367
- if (!(conv = PyDict_New ()))
368
- return -1 ;
369
- }
370
- else
371
- Py_INCREF (conv );
372
366
373
367
self -> conn = (PyObject * ) conn ;
374
368
Py_INCREF (conn );
@@ -387,29 +381,25 @@ _mysql_ResultObject_Initialize(
387
381
return -1 ;
388
382
}
389
383
self -> converter = PyTuple_New (0 );
390
- Py_DECREF (conv );
391
384
return 0 ;
392
385
}
393
386
n = mysql_num_fields (result );
394
387
self -> nfields = n ;
395
388
if (!(self -> converter = PyTuple_New (n ))) {
396
- Py_DECREF (conv );
397
389
return -1 ;
398
390
}
399
391
fields = mysql_fetch_fields (result );
400
392
for (i = 0 ; i < n ; i ++ ) {
401
393
PyObject * tmp , * fun ;
402
394
tmp = PyInt_FromLong ((long ) fields [i ].type );
403
395
if (!tmp ) {
404
- Py_DECREF (conv );
405
396
return -1 ;
406
397
}
407
- fun = PyObject_GetItem (conv , tmp );
398
+ fun = conv ? PyObject_GetItem (conv , tmp ) : NULL ;
408
399
Py_DECREF (tmp );
409
400
if (!fun ) {
410
401
if (PyErr_Occurred ()) {
411
402
if (!PyErr_ExceptionMatches (PyExc_KeyError )) {
412
- Py_DECREF (conv );
413
403
return -1 ;
414
404
}
415
405
PyErr_Clear ();
@@ -428,7 +418,6 @@ _mysql_ResultObject_Initialize(
428
418
PyObject * t = PySequence_GetItem (fun , j );
429
419
if (!t ) {
430
420
Py_DECREF (fun );
431
- Py_DECREF (conv );
432
421
return -1 ;
433
422
}
434
423
if (PyTuple_Check (t ) && PyTuple_GET_SIZE (t ) == 2 ) {
@@ -463,7 +452,6 @@ _mysql_ResultObject_Initialize(
463
452
PyTuple_SET_ITEM (self -> converter , i , fun );
464
453
}
465
454
466
- Py_DECREF (conv );
467
455
return 0 ;
468
456
}
469
457
0 commit comments