circuitpython/py
Jeff Epler 0d957fe15c
Fix several places where an exception could be chained wrongly
If an exception's chain or context can refer to a pointer from a different
VM, a crash would typically result.

This couldn't turn up on UNIX testing because the VM is never torn
down and rebuilt like it is on hardware.

Because in the 'static' case the GeneratorObject is now fully initialized
whenever it's raised, the initialization can be dropped, which reduces
the flash size slightly.
Closes: #7565
2023-02-10 09:06:47 -06:00
..
argcheck.c Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
asmarm.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmarm.h Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmbase.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
asmbase.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
asmthumb.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmthumb.h Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
asmx64.c py/asmx64: Support use of top 8 regs in src_r64 argument. 2021-05-20 23:43:25 +10:00
asmx64.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
asmx86.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
asmx86.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
asmxtensa.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
asmxtensa.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
bc0.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
bc.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
bc.h Explicitly ignore unused variables (fixes #6158) 2022-03-15 22:33:10 -07:00
binary.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
binary.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
builtin.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
builtinevex.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
builtinhelp.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
builtinimport.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
circuitpy_defns.mk Rework the coproc API 2022-12-19 14:08:38 -05:00
circuitpy_mkenv.mk refactor common port specific Makefile code 2022-11-18 23:00:28 +05:30
circuitpy_mpconfig.h oofatfs: enable use of random volume IDs 2023-01-03 17:18:29 -06:00
circuitpy_mpconfig.mk add CIRCUITPY_SKIP_SAFE_MODE_WAIT to circuitpy_mpconfig.mk 2023-01-29 00:56:16 +01:00
compile.c Fix unix and pre-commit 2022-05-27 15:48:01 -07:00
compile.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
dynruntime.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
dynruntime.mk all: Remove MICROPY_OPT_CACHE_MAP_LOOKUP_IN_BYTECODE. 2021-09-16 16:04:03 +10:00
emit.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
emitbc.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
emitcommon.c Merge MicroPython 1.10 into CircuitPython 2021-04-21 15:59:17 -07:00
emitglue.c Uncomment or remove debugging changes 2022-07-08 12:53:25 -04:00
emitglue.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
emitinlinethumb.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
emitinlinextensa.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
emitnarm.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnative.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
emitnthumb.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnx64.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnx86.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
emitnxtensa.c py/emitnative: Add support for return/break/continue in try and with. 2018-09-04 14:31:28 +10:00
emitnxtensawin.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
enum.c Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
enum.h Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
formatfloat.c py/formatfloat: Format all whole-number floats exactly. 2022-08-09 13:43:47 -04:00
formatfloat.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
frozenmod.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
frozenmod.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
gc_long_lived.c Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
gc_long_lived.h Introduce a long lived section of the heap. 2018-01-24 10:33:46 -08:00
gc.c fix diagnostic when building unix port for tests 2022-06-27 09:49:00 -05:00
gc.h Add two stage reset for BLE 2022-05-12 13:20:44 -07:00
genlast.py run updated pre-commit 2023-02-01 13:38:41 +05:30
grammar.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
lexer.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
lexer.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
makecompresseddata.py py/makecompresseddata.py: Make compression deterministic. 2020-04-20 10:32:49 +10:00
makemoduledefs.py codeformat: Fix handling of ** 2021-04-30 15:30:13 -05:00
makeqstrdata.py run updated pre-commit 2023-02-01 13:38:41 +05:30
makeqstrdefs.py fix display of the 'host not found' message 2022-12-01 19:46:17 -06:00
maketranslationdata.py run updated pre-commit 2023-02-01 13:38:41 +05:30
makeversionhdr.py makeversionhdr should be unforgiving 2022-09-16 10:28:53 -05:00
malloc.c pico w: add ssl module 2022-10-05 13:12:43 -04:00
map.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
misc.h pico w: add ssl module 2022-10-05 13:12:43 -04:00
mkenv.mk Always use python3 2021-10-15 15:11:21 -05:00
mkrules.cmake py/mkrules.cmake: Set frozen preprocessor defs early. 2021-12-18 00:05:18 +11:00
mkrules.mk Fix unix and pre-commit 2022-05-27 15:48:01 -07:00
modarray.c Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
modbuiltins.c save about 112 bytes 2022-10-09 19:22:39 -04:00
modcmath.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
modcollections.c codeformat 2021-04-19 22:22:44 -07:00
modgc.c codeformat 2021-04-19 22:22:44 -07:00
modio.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
modmath.c Use a function to raise ZeroDivisionError, consistent string 2022-11-30 14:39:30 -06:00
modmicropython.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
modstruct.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
modsys.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
modthread.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
moduerrno.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
mpconfig.h Don't crash when assigning attributes of the GeneratorExit const singleton 2022-11-13 19:52:49 -06:00
mperrno.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
mphal.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
mpprint.c Make %p include the 0x prefix 2021-08-29 11:36:29 -05:00
mpprint.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
mpstate.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
mpstate.h pico w: add ssl module 2022-10-05 13:12:43 -04:00
mpthread.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
mpz.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
mpz.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
nativeglue.c Fix up all natmod examples 2021-05-08 20:17:16 -05:00
nativeglue.h Fix up all natmod examples 2021-05-08 20:17:16 -05:00
nlr.c codeformat 2021-04-19 22:22:44 -07:00
nlr.h Merge MicroPython v1.15 into CircuitPython 2021-05-12 17:51:42 -07:00
nlraarch64.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
nlrpowerpc.c Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
nlrsetjmp.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
nlrthumb.c Use returns_twice attribute to preserve regs in nlrthumb nlr_push() 2022-12-20 22:18:43 -05:00
nlrx64.c Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
nlrx86.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
nlrxtensa.c codeformat 2021-04-19 22:22:44 -07:00
obj.c Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
obj.h Don't crash when assigning attributes of the GeneratorExit const singleton 2022-11-13 19:52:49 -06:00
objarray.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objarray.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
objattrtuple.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objbool.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objboundmeth.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objcell.c codeformat 2021-04-19 22:22:44 -07:00
objclosure.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objcomplex.c Use a function to raise ZeroDivisionError, consistent string 2022-11-30 14:39:30 -06:00
objdeque.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objdict.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objenumerate.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objexcept.c Fix several places where an exception could be chained wrongly 2023-02-10 09:06:47 -06:00
objexcept.h Fix several places where an exception could be chained wrongly 2023-02-10 09:06:47 -06:00
objfilter.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objfloat.c Use a function to raise ZeroDivisionError, consistent string 2022-11-30 14:39:30 -06:00
objfun.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objfun.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
objgenerator.c Fix several places where an exception could be chained wrongly 2023-02-10 09:06:47 -06:00
objgenerator.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
objgetitemiter.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objint_longlong.c Use a function to raise ZeroDivisionError, consistent string 2022-11-30 14:39:30 -06:00
objint_mpz.c Use a function to raise ZeroDivisionError, consistent string 2022-11-30 14:39:30 -06:00
objint.c re-use an error message 2022-11-30 14:39:34 -06:00
objint.h Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
objlist.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objlist.h Separate out mp_obj_list_insert for use in display.Group 2021-02-27 21:13:55 +01:00
objmap.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objmodule.c clean up py/objmodule.c for circuitpython 2022-02-24 15:33:12 -05:00
objmodule.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
objnamedtuple.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objnamedtuple.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objnone.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objobject.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objpolyiter.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objproperty.c Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
objproperty.h Enable squeezing property storage in flash 2022-05-03 08:48:53 -05:00
objrange.c Merge some messages 2022-11-30 14:39:47 -06:00
objreversed.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objset.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objsingleton.c Rename EXTENDED_FIELDS -> MP_TYPE_EXTENDED_FIELDS 2021-07-12 06:57:59 -05:00
objslice.c Merge some messages 2022-11-30 14:39:47 -06:00
objstr.c Simplify argument checking to reduce translated strings 2022-11-07 12:37:11 -06:00
objstr.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objstringio.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objstringio.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
objstrunicode.c Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
objtraceback.c objtraceback: merge with an existing message in objtype 2021-08-23 20:23:23 -05:00
objtraceback.h add traceback object 2021-08-04 12:10:57 +05:30
objtuple.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
objtuple.h codeformat 2021-04-19 22:22:44 -07:00
objtype.c Avoid null pointer dereference when no kwargs 2023-01-01 16:56:53 -06:00
objtype.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
objzip.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
opmethods.c Rename mp_type_binary_op -> mp_type_get_binary_op_slot 2021-07-12 07:03:52 -05:00
pairheap.c py/pairheap: Properly unlink node on pop and delete. 2020-03-26 01:21:04 +11:00
pairheap.h py/pairheap: Add helper function to initialise a new node. 2020-03-26 01:21:04 +11:00
parse.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
parse.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
parsenum.c Use a standard validator 2022-11-30 14:39:33 -06:00
parsenum.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
parsenumbase.c codeformat 2021-04-19 22:22:44 -07:00
parsenumbase.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
persistentcode.c save about 112 bytes 2022-10-09 19:22:39 -04:00
persistentcode.h Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
profile.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
profile.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
proto.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
proto.h Rename mp_type_protocol -> mp_type_get_protocol_slot 2021-07-12 07:04:04 -05:00
py.cmake add traceback object 2021-08-04 12:10:57 +05:30
py.mk Don't run maketranslationdata twice 2022-11-30 14:39:51 -06:00
pystack.c Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
pystack.h Initial broadcom port for Raspberry Pi 2021-11-22 14:54:44 -08:00
qstr.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
qstr.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
qstrdefs.h Remove unused static qstrs 2022-11-30 12:06:15 -06:00
reader.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
reader.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
repl.c restore a redundant NULL-comparison, it silences compiler diagnostics 2021-06-18 11:24:39 -05:00
repl.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
ringbuf.c ringbuf cleanup 2022-09-21 10:03:05 -04:00
ringbuf.h ringbuf cleanup 2022-09-21 10:03:05 -04:00
runtime0.h Merge MicroPython 1.12 into CircuitPython 2021-05-03 14:01:18 -07:00
runtime_utils.c WIP: after merge; before testing 2018-07-11 16:45:30 -04:00
runtime.c Fix several places where an exception could be chained wrongly 2023-02-10 09:06:47 -06:00
runtime.h Improve type validation errors messages, especially for pins 2023-01-10 15:02:55 -05:00
scheduler.c refactor traceback handling 2021-11-10 20:23:33 +05:30
scope.c Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
scope.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
sequence.c Conditionalize LTO 2022-05-27 12:59:54 -07:00
showbc.c Merge tag 'v1.18' 2022-02-15 12:36:26 -06:00
smallint.c Add license to some obvious files. 2020-07-06 19:16:25 +01:00
smallint.h Merge tag 'v1.17' into merge-1.17 2021-10-15 08:20:54 -05:00
stackctrl.c codeformat 2021-04-19 22:22:44 -07:00
stackctrl.h Merge tag 'v1.16' 2021-06-18 10:54:19 -05:00
stream.c When reading data from a file into a str, check if it's utf-8 2022-08-12 08:25:27 -05:00
stream.h Move mp_get_stream non-inline 2021-05-05 11:00:35 -05:00
unicode.c Merge MicroPython 1.13 into CircuitPython 2021-05-04 18:06:33 -07:00
unicode.h Add license to some obvious files. 2020-07-06 19:16:25 +01:00
usermod.cmake rp2: Add support for USER_C_MODULES to CMake build system. 2021-03-31 00:26:01 +11:00
vm.c do not chain exceptions to themselves 2023-01-04 08:40:20 -06:00
vmentrytable.h Merge MicroPython 1.14 into CircuitPython 2021-05-11 15:07:40 -07:00
vstr.c Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00
warning.c Merge MicroPython v1.11 into CircuitPython 2021-04-26 15:47:41 -07:00