diff options
-rw-r--r-- | sql/filesort.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/filesort.cc b/sql/filesort.cc index 2ac05ef0496..b212e2cb366 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -149,6 +149,11 @@ ha_rows filesort(TABLE *table, SORT_FIELD *sortorder, uint s_length, if ((memavl=memavl/4*3) < MIN_SORT_MEMORY && old_memavl > MIN_SORT_MEMORY) memavl=MIN_SORT_MEMORY; } + if (memavl < param.sort_length*MERGEBUFF2) + { + my_error(ER_OUT_OF_SORTMEMORY,MYF(0)); + goto err; + } if (memavl < MIN_SORT_MEMORY) { my_error(ER_OUTOFMEMORY,MYF(ME_ERROR+ME_WAITTANG), |