File tree Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Expand file tree Collapse file tree 1 file changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -67,18 +67,31 @@ static int PyXmlSec_CheckLxmlLibraryVersion(void) {
67
67
if (version == NULL ) {
68
68
goto FINALIZE ;
69
69
}
70
- if (!PyTuple_Check (version ) || PyTuple_Size (version ) != 3 ) {
70
+ if (!PyTuple_Check (version ) || PyTuple_Size (version ) < 2 ) {
71
71
goto FINALIZE ;
72
72
}
73
73
74
74
PyObject * major = PyTuple_GetItem (version , 0 );
75
75
PyObject * minor = PyTuple_GetItem (version , 1 );
76
76
77
+ if (PyErr_Occurred ()) {
78
+ goto FINALIZE ;
79
+ }
80
+
77
81
if (!PyLong_Check (major ) || !PyLong_Check (minor )) {
78
82
goto FINALIZE ;
79
83
}
80
84
81
- if (PyLong_AsLong (major ) != PyXmlSec_GetLibXmlVersionMajor () || PyLong_AsLong (minor ) != PyXmlSec_GetLibXmlVersionMinor ()) {
85
+ long lxml_major = PyLong_AsLong (major );
86
+ long lxml_minor = PyLong_AsLong (minor );
87
+ long xmlsec_major = PyXmlSec_GetLibXmlVersionMajor ();
88
+ long xmlsec_minor = PyXmlSec_GetLibXmlVersionMinor ();
89
+
90
+ if (PyErr_Occurred ()) {
91
+ goto FINALIZE ;
92
+ }
93
+
94
+ if (lxml_major != xmlsec_major || lxml_minor != xmlsec_minor ) {
82
95
goto FINALIZE ;
83
96
}
84
97
@@ -88,6 +101,10 @@ static int PyXmlSec_CheckLxmlLibraryVersion(void) {
88
101
// Cleanup our references, and return the result
89
102
Py_XDECREF (lxml );
90
103
Py_XDECREF (version );
104
+
105
+ // Clear any errors that may have occurred
106
+ PyErr_Clear ();
107
+
91
108
return result ;
92
109
}
93
110
You can’t perform that action at this time.
0 commit comments