summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/filesort.cc5
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),