File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1117,6 +1117,7 @@ r_object(RFILE *p)
11171117 R_REF (v );
11181118 if (v == NULL )
11191119 break ;
1120+
11201121 for (i = 0 ; i < n ; i ++ ) {
11211122 v2 = r_object (p );
11221123 if ( v2 == NULL ) {
@@ -1170,10 +1171,17 @@ r_object(RFILE *p)
11701171 if (key == NULL )
11711172 break ;
11721173 val = r_object (p );
1173- if (val != NULL )
1174- PyDict_SetItem (v , key , val );
1174+ if (val == NULL ) {
1175+ Py_DECREF (key );
1176+ break ;
1177+ }
1178+ if (PyDict_SetItem (v , key , val ) < 0 ) {
1179+ Py_DECREF (key );
1180+ Py_DECREF (val );
1181+ break ;
1182+ }
11751183 Py_DECREF (key );
1176- Py_XDECREF (val );
1184+ Py_DECREF (val );
11771185 }
11781186 if (PyErr_Occurred ()) {
11791187 Py_DECREF (v );
@@ -1204,6 +1212,7 @@ r_object(RFILE *p)
12041212 }
12051213 if (v == NULL )
12061214 break ;
1215+
12071216 for (i = 0 ; i < n ; i ++ ) {
12081217 v2 = r_object (p );
12091218 if ( v2 == NULL ) {
You can’t perform that action at this time.
0 commit comments