summaryrefslogtreecommitdiffstats
path: root/sysif.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-02-20 07:10:13 -0800
committerKaz Kylheku <kaz@kylheku.com>2017-02-20 07:10:13 -0800
commit633d1a10a7509e052571ea3db6f44157e6620326 (patch)
tree15fdb00ef1899801b80e6b341c344fbfe159fc87 /sysif.c
parent1251a804e742ddb4963af5d48213d20358ee639a (diff)
downloadtxr-633d1a10a7509e052571ea3db6f44157e6620326.tar.gz
txr-633d1a10a7509e052571ea3db6f44157e6620326.tar.bz2
txr-633d1a10a7509e052571ea3db6f44157e6620326.zip
Fix lack of robustness in struct module.
The symbolp test is too weak before calling lookup_slot, because nil satisfies it, but lookup_slot dereferences the symbol pointer to access its slot cache. One of many test cases: parsing #S(time nil nil) segfaults. * struct.c (slot, maybe_slot, slotset, uslot_fun, umethod_fun, umethod_args_fun): Check that sym isn't nil before looking it up as a slot.
Diffstat (limited to 'sysif.c')
0 files changed, 0 insertions, 0 deletions