Armin Rigo | d77ef8f | 2006-06-28 10:49:51 +0000 | [diff] [blame] | 1 | """ |
| 2 | Broken bytecode objects can easily crash the interpreter. |
Armin Rigo | b62efad | 2006-07-25 18:38:39 +0000 | [diff] [blame] | 3 | |
| 4 | This is not going to be fixed. It is generally agreed that there is no |
| 5 | point in writing a bytecode verifier and putting it in CPython just for |
| 6 | this. Moreover, a verifier is bound to accept only a subset of all safe |
| 7 | bytecodes, so it could lead to unnecessary breakage. |
| 8 | |
| 9 | For security purposes, "restricted" interpreters are not going to let |
| 10 | the user build or load random bytecodes anyway. Otherwise, this is a |
| 11 | "won't fix" case. |
| 12 | |
Armin Rigo | d77ef8f | 2006-06-28 10:49:51 +0000 | [diff] [blame] | 13 | """ |
| 14 | |
| 15 | import types |
| 16 | |
| 17 | co = types.CodeType(0, 0, 0, 0, '\x04\x71\x00\x00', (), |
| 18 | (), (), '', '', 1, '') |
| 19 | exec co |