Skip to content
  • mithun's avatar
    78b568f3
    Bug #17513341 : >=4G JOIN_BUFFER_SIZE CRASH WHEN · 78b568f3
    mithun authored
                    JOINING TABLES, VIEWS
    ISSUE         : 1. Offset address from a join buffer of size 
                       >=4gb can be >4 bytes long. But we 
                       have only considered offsets upto 4bytes long.
                       This will lead to invalid buffer read and 
                       memory corruption henceforth.
                    2. If we fail to allocate join buffer then
                       we are not freeing the JOIN_CACHE_X instance.
                       Now next join buffer will wrongly take this
                       unfreed JOIN_CACHE_X instance as its previous
                       cache. Hence in incremental join buffer 
                       implementation there will be a chance for 
                       unallocated memory access.
    Solution      : 1. Now for join buffer >=4gb we have made offest
                       address size = 8 bytes.
                    2. If we fail to allocate the join buffer we free
                       the JOIN_CACHE_X instance also.                       
    78b568f3
    Bug #17513341 : >=4G JOIN_BUFFER_SIZE CRASH WHEN
    mithun authored
                    JOINING TABLES, VIEWS
    ISSUE         : 1. Offset address from a join buffer of size 
                       >=4gb can be >4 bytes long. But we 
                       have only considered offsets upto 4bytes long.
                       This will lead to invalid buffer read and 
                       memory corruption henceforth.
                    2. If we fail to allocate join buffer then
                       we are not freeing the JOIN_CACHE_X instance.
                       Now next join buffer will wrongly take this
                       unfreed JOIN_CACHE_X instance as its previous
                       cache. Hence in incremental join buffer 
                       implementation there will be a chance for 
                       unallocated memory access.
    Solution      : 1. Now for join buffer >=4gb we have made offest
                       address size = 8 bytes.
                    2. If we fail to allocate the join buffer we free
                       the JOIN_CACHE_X instance also.                       
Loading