From: Georgi Kodinov Date: July 9 2009 12:05pm Subject: bzr commit into mysql-5.1-bugteam branch (joro:3016) Bug#45962 List-Archive: http://lists.mysql.com/commits/78276 X-Bug: 45962 Message-Id: <200907091205.n69C5Z5Z010569@magare.gmz> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6612117449400933911==" --===============6612117449400933911== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/kgeorge/mysql/work/B45962-5.1-bugteam/ based on revid:aelkin@stripped 3016 Georgi Kodinov 2009-07-09 Bug #45962: memory leak after 'sort aborted' errors When the function exits with an error it was not freeing the local Unique class instance. Fixed my making sure all the places where the function returns from are freeing the Unique instance modified: sql/opt_range.cc === modified file 'sql/opt_range.cc' --- a/sql/opt_range.cc 2009-06-16 08:43:13 +0000 +++ b/sql/opt_range.cc 2009-07-09 12:05:30 +0000 @@ -8065,7 +8065,10 @@ int QUICK_INDEX_MERGE_SELECT::read_keys_ if (cur_quick->file->inited != handler::NONE) cur_quick->file->ha_index_end(); if (cur_quick->init() || cur_quick->reset()) + { + delete unique; DBUG_RETURN(1); + } } if (result) @@ -8073,13 +8076,17 @@ int QUICK_INDEX_MERGE_SELECT::read_keys_ if (result != HA_ERR_END_OF_FILE) { cur_quick->range_end(); + delete unique; DBUG_RETURN(result); } break; } if (thd->killed) + { + delete unique; DBUG_RETURN(1); + } /* skip row if it will be retrieved by clustered PK scan */ if (pk_quick_select && pk_quick_select->row_in_ranges()) @@ -8088,8 +8095,10 @@ int QUICK_INDEX_MERGE_SELECT::read_keys_ cur_quick->file->position(cur_quick->record); result= unique->unique_add((char*)cur_quick->file->ref); if (result) + { + delete unique; DBUG_RETURN(1); - + } } /* --===============6612117449400933911== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/joro@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: joro@stripped # target_branch: file:///home/kgeorge/mysql/work/B45962-5.1-bugteam/ # testament_sha1: 2847aaf11201480c2116124c12c882acae3e4a02 # timestamp: 2009-07-09 15:05:35 +0300 # base_revision_id: aelkin@stripped # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWeX7ipcAAe9fgFQQWeP//1OI AoC////6UAR9c73ux73HBuLvc96YSSmTRqaE9TTxMRk0obUwJo9QaejSNAkoSYm0Se1T9FPRMJ6T BAAABoBKCmJGTIAmIaaMTQZABiDQJFKm9U9qMhNNHonpMQDEAGmTJpo9QSSI00ATCaNFNPU2jJPU 0PUBoNAXIiOL6vYzFWxt6vs4cMiRWQhB2Uxq68dM3Bhiko85liz8ZX4u5ZVCSmEff29qNpxvYZks 3mLTnKYTyrrkFeDqyRuNcUhiZF9rG9qN7buDVnWvF43hsym9WfDGZdkWhGLRXgpkUV7LVzEwVzmG jVnxQy4KptHKq+KI2TC4i/IzEwz0kMAizNQLQaK8KjXokMV0aBq46gYKAzNJ1RrmgCudWJ7OtbVo XuEXukGHDDsiQVlEV+BwQNpkzOtqQi0ghOXyFBfkqqFPdQTsbns6INAOenEWqpCQqeGCh6/Quk11 KivPLyGkcCk+w4pcyVLqqEikWoaDrFddNANhhyiRSzGgPEzx5rpn9RCdrVAniX27NhMbrIqhSRMC UeX/HDMfwKCopLg/lom8DLDExpz3G2kxFw0WozMmIETI2T9Ck2ipdZqIUD7XCbWvfPGyhqcxERl0 yLgL6z8WlJekvtdSrDUWjSMR9tllTk+QSYyI2xV43TmUTZyW50xB95WVWqbj1FkRKbDCRWgtjESA yRVlkkmUnRpyIQzBnLu0yKJ4KQ02mkNyX5tTDKmX4O3a8GIq7uHQiUuWlZV3OxG2jSSqQio1jZRM XhwiXzSYw/qdeGVeg4kLTMOgptO32zSZHQykYnDE7pLhc761yqOB2nPoXnE5kwxhXbtyNnARQrCP YcbTopDSp1NL3ZtBIdKXEzU8yx/UUE9NOKQmPI8irAu2iqHYb/RRvc8ew7sCX3KG7vGdEL+6smL4 lESQHlT5LDcV9ZOPM7b1E08S0xDNaLDVPxTI87Y63Q58DeGVRtrUNgV0DAULlT5FNDh0po3KNxnZ tLjAYBxAj4a8RyXXuCRj+hp1fCCsGUBNJo6OUIC7Nx4XYmANscin++PBVIN8DV9BqtnuLgoHWbLQ 7RPNsFWwaWyIynPKDp7WZLoFcA+vRb/Juzl+Timy3GoUdCnVoQ8sJH4o0L50YF7FV4YWJmp2t89Q LcKaXSqBOHWZ5DXbpo4E5bG0KUftp3hYoWSz3URtdKMkUUJxrc6SHCCg4S4kAlCvHUSsFANoajRF Lk/oVOkFMKphnsIy3iHaFu2q0nx14zUscNbOIA1ZhhtUJSYKps10sYjTKfu8Rb/JaUb89wrtdGEh 4DOCz5LqhLePcLvqaytk7vKIzyKyvO5LSuF4bicgmGYYHeFGvVCiVzhmkN72KDWA0ql33ljL84Uv KmMKQ3JMuhLCufIbNko+1dRFTg2ai63QtKrHI990R5yKwtCZiVk6x5WLd6Tf81yF9s8a0mLQcY06 lYXLD6PSPCuhd5yJVlgJweJrJ7XM2hS8G2xNzo1UnM8xj/i7kinChIcv3FS4 --===============6612117449400933911==--