@@ -1551,21 +1551,26 @@ PyMODINIT_FUNC PyInit_ft2font(void)
15511551{
15521552 PyObject *m;
15531553
1554+ import_array ();
1555+
15541556 m = PyModule_Create (&moduledef);
15551557
15561558 if (m == NULL ) {
15571559 return NULL ;
15581560 }
15591561
15601562 if (!PyFT2Image_init_type (m, &PyFT2ImageType)) {
1563+ Py_DECREF (m);
15611564 return NULL ;
15621565 }
15631566
15641567 if (!PyGlyph_init_type (m, &PyGlyphType)) {
1568+ Py_DECREF (m);
15651569 return NULL ;
15661570 }
15671571
15681572 if (!PyFT2Font_init_type (m, &PyFT2FontType)) {
1573+ Py_DECREF (m);
15691574 return NULL ;
15701575 }
15711576
@@ -1607,6 +1612,7 @@ PyMODINIT_FUNC PyInit_ft2font(void)
16071612 add_dict_int (d, " LOAD_TARGET_MONO" , (unsigned long )FT_LOAD_TARGET_MONO) ||
16081613 add_dict_int (d, " LOAD_TARGET_LCD" , (unsigned long )FT_LOAD_TARGET_LCD) ||
16091614 add_dict_int (d, " LOAD_TARGET_LCD_V" , (unsigned long )FT_LOAD_TARGET_LCD_V)) {
1615+ Py_DECREF (m);
16101616 return NULL ;
16111617 }
16121618
@@ -1615,6 +1621,7 @@ PyMODINIT_FUNC PyInit_ft2font(void)
16151621
16161622 if (error) {
16171623 PyErr_SetString (PyExc_RuntimeError, " Could not initialize the freetype2 library" );
1624+ Py_DECREF (m);
16181625 return NULL ;
16191626 }
16201627
@@ -1625,16 +1632,16 @@ PyMODINIT_FUNC PyInit_ft2font(void)
16251632 FT_Library_Version (_ft2Library, &major, &minor, &patch);
16261633 sprintf (version_string, " %d.%d.%d" , major, minor, patch);
16271634 if (PyModule_AddStringConstant (m, " __freetype_version__" , version_string)) {
1635+ Py_DECREF (m);
16281636 return NULL ;
16291637 }
16301638 }
16311639
16321640 if (PyModule_AddStringConstant (m, " __freetype_build_type__" , STRINGIFY (FREETYPE_BUILD_TYPE))) {
1641+ Py_DECREF (m);
16331642 return NULL ;
16341643 }
16351644
1636- import_array ();
1637-
16381645 return m;
16391646}
16401647
0 commit comments