Skip to content
  • Maria Couceiro's avatar
    094c2c2e
    BUG#25873029 HEAP-USE-AFTER-FREE IN RPL.RPL_JSON, RPL.RPL_VIRTUAL_GCOL · 094c2c2e
    Maria Couceiro authored
    Problem:
    The tests rpl_json and rpl_virtual_column failed with the condition
    heap-use-after-free when ran using valgrind or ASAN.
    
    Analysis:
    When updating virtual generated columns that are BLOBs, some storage
    engines require that we have both the old and new BLOB value for virtual
    generated columns during updates. The same applies to JSON and GEOMETRY
    fields, as they are also neither stored in the record buffers, nor
    stored by the storage engine.
    
    Fix:
    This patch extends to all BLOB based types (namely, JSON and GEOMETRY)
    the behavior that was already implemented for BLOBs to prevent this
    issue: when updating read or write generated fields and also when the
    slave unpacks a row, store the previous field value so that it can be
    accessed later.
    094c2c2e
    BUG#25873029 HEAP-USE-AFTER-FREE IN RPL.RPL_JSON, RPL.RPL_VIRTUAL_GCOL
    Maria Couceiro authored
    Problem:
    The tests rpl_json and rpl_virtual_column failed with the condition
    heap-use-after-free when ran using valgrind or ASAN.
    
    Analysis:
    When updating virtual generated columns that are BLOBs, some storage
    engines require that we have both the old and new BLOB value for virtual
    generated columns during updates. The same applies to JSON and GEOMETRY
    fields, as they are also neither stored in the record buffers, nor
    stored by the storage engine.
    
    Fix:
    This patch extends to all BLOB based types (namely, JSON and GEOMETRY)
    the behavior that was already implemented for BLOBs to prevent this
    issue: when updating read or write generated fields and also when the
    slave unpacks a row, store the previous field value so that it can be
    accessed later.
Loading