Message167285
| Author |
meador.inge |
| Recipients |
Arfrever, amaury.forgeotdarc, belopolsky, meador.inge, theller |
| Date |
2012年08月03日.02:58:45 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1343962726.52.0.657534288819.issue15459@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
OK, I finally had some time to look at this. The attached patch does fix the issue. However, it has a nasty side effect in that the encoded bitfield size stays with the field member object:
>>> class SubByte(c_ubyte): pass
...
>>> class A(Structure):
... _fields_ = [("x", SubByte, 5)]
...
>>> sizeof(A().x)
327680
Before the patch things look like:
>>> class SubByte(c_ubyte): pass
...
>>> class A(Structure):
... _fields_ = [("x", SubByte, 5)]
...
>>> sizeof(A().x)
1
Leaking the internal bitfield size encoding seems like a deal breaker to me. |
|