@@ -134,8 +134,9 @@ PyCField_new_impl(PyTypeObject *type, PyObject *name, PyObject *proto,
134134 // so they're limited to about 8 bytes.
135135 // This check is here to avoid overflow in later checks.
136136 PyErr_Format (PyExc_ValueError ,
137- "bit field %R size too large, got %zd" ,
138- name , byte_size );
137+ "bit field %R size too large, got %zd" ,
138+ name , byte_size );
139+ goto error ;
139140 }
140141 bitfield_size = PyLong_AsSsize_t (bit_size_obj );
141142 if ((bitfield_size <= 0 ) || (bitfield_size > 255 )) {
@@ -150,8 +151,8 @@ PyCField_new_impl(PyTypeObject *type, PyObject *name, PyObject *proto,
150151 if ((bit_offset < 0 ) || (bit_offset > 255 )) {
151152 if (!PyErr_Occurred ()) {
152153 PyErr_Format (PyExc_ValueError ,
153- "bit offset of field %R out of range, got %zd" ,
154- name , bit_offset );
154+ "bit offset of field %R out of range, got %zd" ,
155+ name , bit_offset );
155156 }
156157 goto error ;
157158 }
@@ -160,7 +161,7 @@ PyCField_new_impl(PyTypeObject *type, PyObject *name, PyObject *proto,
160161 PyExc_ValueError ,
161162 "bit field %R overflows its type (%zd + %zd >= %zd)" ,
162163 name , bit_offset , byte_size * 8 );
163- goto error ;
164+ goto error ;
164165 }
165166 }
166167 else {
@@ -169,6 +170,7 @@ PyCField_new_impl(PyTypeObject *type, PyObject *name, PyObject *proto,
169170 PyExc_ValueError ,
170171 "field %R: bit_offset must be specified if bit_size is" ,
171172 name );
173+ goto error ;
172174 }
173175 }
174176
@@ -180,7 +182,7 @@ PyCField_new_impl(PyTypeObject *type, PyObject *name, PyObject *proto,
180182 if (!self -> name ) {
181183 goto error ;
182184 }
183- assert (PyUnicode_CheckExact (self -> name ));
185+ assert (PyUnicode_CheckExact (self -> name ));
184186
185187 self -> proto = Py_NewRef (proto );
186188 self -> byte_size = byte_size ;
@@ -284,14 +286,14 @@ PyCField_get(PyObject *op, PyObject *inst, PyTypeObject *type)
284286}
285287
286288static PyObject *
287- PyCField_get_legacy_size (PyObject * self , void * data )
289+ PyCField_get_legacy_size (PyObject * self , void * Py_UNUSED ( closure ) )
288290{
289291 CFieldObject * field = _CFieldObject_CAST (self );
290292 return PyLong_FromSsize_t (_pack_legacy_size (field ));
291293}
292294
293295static PyObject *
294- PyCField_get_bit_size (PyObject * self , void * data )
296+ PyCField_get_bit_size (PyObject * self , void * Py_UNUSED ( closure ) )
295297{
296298 CFieldObject * field = _CFieldObject_CAST (self );
297299 if (field -> bitfield_size ) {
@@ -323,13 +325,13 @@ PyCField_get_bit_size(PyObject *self, void *data)
323325}
324326
325327static PyObject *
326- PyCField_is_bitfield (PyObject * self , void * data )
328+ PyCField_is_bitfield (PyObject * self , void * Py_UNUSED ( closure ) )
327329{
328330 return PyBool_FromLong (_CFieldObject_CAST (self )-> bitfield_size );
329331}
330332
331333static PyObject *
332- PyCField_is_anonymous (PyObject * self , void * data )
334+ PyCField_is_anonymous (PyObject * self , void * Py_UNUSED ( closure ) )
333335{
334336 return PyBool_FromLong (_CFieldObject_CAST (self )-> anonymous );
335337}
0 commit comments