File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -1117,6 +1117,7 @@ r_object(RFILE *p)
1117
1117
R_REF (v );
1118
1118
if (v == NULL )
1119
1119
break ;
1120
+
1120
1121
for (i = 0 ; i < n ; i ++ ) {
1121
1122
v2 = r_object (p );
1122
1123
if ( v2 == NULL ) {
@@ -1170,10 +1171,17 @@ r_object(RFILE *p)
1170
1171
if (key == NULL )
1171
1172
break ;
1172
1173
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
+ }
1175
1183
Py_DECREF (key );
1176
- Py_XDECREF (val );
1184
+ Py_DECREF (val );
1177
1185
}
1178
1186
if (PyErr_Occurred ()) {
1179
1187
Py_DECREF (v );
@@ -1204,6 +1212,7 @@ r_object(RFILE *p)
1204
1212
}
1205
1213
if (v == NULL )
1206
1214
break ;
1215
+
1207
1216
for (i = 0 ; i < n ; i ++ ) {
1208
1217
v2 = r_object (p );
1209
1218
if ( v2 == NULL ) {
You can’t perform that action at this time.
0 commit comments