-
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.
mithun authoredJOINING 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