Menu

#47 Potential uninitialized read problem (_EOF_OBJ)

pending
nobody
None
5
2023-06-20
2021-06-03
Alan Fisher
No

Hello,

It appears that sc->EOF_OBJ is initialized by setting it to sc->_EOF_OBJ, but sc->_EOF_OBJ itself is never initialized. This was wreaking havoc on my embedded system, where is_pair(sc->EOF_OBJ) was returning true and crashing the interpreter. Apparently (_EOF_OBJ->_flag & T_MASKTYPE) just happened to be T_PAIR in memory. My workaround was to zero the sc object before running the interpreter, but I imagine _EOF_OBJ should actually be initialized inside scheme_init_custom_alloc.

Thanks,
Alan

Discussion

  • Kevin Cozens

    Kevin Cozens - 2023-06-20

    r131 | kcozens | 2023-06-20 12:08:59 -0400 (Tue, 20 Jun 2023) | 2 lines
    Oops... The EOF_OBJ cell wasn't being initialized. Fixes bug #47.

    Thank you for the report. Apologies that it took so long for me to address this issue. I will be checking the code to see if there are any other cells that are not getting initialized.

     
  • Kevin Cozens

    Kevin Cozens - 2023-06-20
    • status: open --> pending
     

Log in to post a comment.

MongoDB Logo MongoDB