~ubuntu-branches/ubuntu/natty/mysql-5.1/natty-proposed

« back to all changes in this revision

Viewing changes to sql/filesort.cc

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 08:30:45 UTC
  • mfrom: (1.4.1)
  • Revision ID: package-import@ubuntu.com-20120222083045-2rd53r4bnyx7qus4
Tags: 5.1.61-0ubuntu0.11.04.1
* SECURITY UPDATE: Update to 5.1.61 to fix multiple security issues
  (LP: #937869)
  - http://www.oracle.com/technetwork/topics/security/cpujan2012-366304.html
  - CVE-2011-2262
  - CVE-2012-0075
  - CVE-2012-0112
  - CVE-2012-0113
  - CVE-2012-0114
  - CVE-2012-0115
  - CVE-2012-0116
  - CVE-2012-0117
  - CVE-2012-0118
  - CVE-2012-0119
  - CVE-2012-0120
  - CVE-2012-0484
  - CVE-2012-0485
  - CVE-2012-0486
  - CVE-2012-0487
  - CVE-2012-0488
  - CVE-2012-0489
  - CVE-2012-0490
  - CVE-2012-0491
  - CVE-2012-0492
  - CVE-2012-0493
  - CVE-2012-0494
  - CVE-2012-0495
  - CVE-2012-0496

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (C) 2000-2006 MySQL AB  
 
1
/*
 
2
   Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.  
2
3
 
3
4
   This program is free software; you can redistribute it and/or modify
4
5
   it under the terms of the GNU General Public License as published by
11
12
 
12
13
   You should have received a copy of the GNU General Public License
13
14
   along with this program; if not, write to the Free Software
14
 
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
15
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
 
16
*/
15
17
 
16
18
 
17
19
/**
142
144
  error= 1;
143
145
  bzero((char*) &param,sizeof(param));
144
146
  param.sort_length= sortlength(thd, sortorder, s_length, &multi_byte_charset);
145
 
  /* filesort cannot handle zero-length records. */
146
 
  DBUG_ASSERT(param.sort_length);
147
147
  param.ref_length= table->file->ref_length;
148
148
  param.addon_field= 0;
149
149
  param.addon_length= 0;
255
255
  }
256
256
  else
257
257
  {
 
258
    /* filesort cannot handle zero-length records during merge. */
 
259
    DBUG_ASSERT(param.sort_length != 0);
 
260
 
258
261
    if (table_sort.buffpek && table_sort.buffpek_len < maxbuffer)
259
262
    {
260
263
      x_free(table_sort.buffpek);
957
960
      if (addonf->null_bit && field->is_null())
958
961
      {
959
962
        nulls[addonf->null_offset]|= addonf->null_bit;
960
 
#ifdef HAVE_purify
961
 
        bzero(to, addonf->length);
962
 
#endif
963
963
      }
964
964
      else
965
965
      {
966
 
#ifdef HAVE_purify
967
 
        uchar *end= field->pack(to, field->ptr);
968
 
        uint length= (uint) ((to + addonf->length) - end);
969
 
        DBUG_ASSERT((int) length >= 0);
970
 
        if (length)
971
 
          bzero(end, length);
972
 
#else
973
966
        (void) field->pack(to, field->ptr);
974
 
#endif
975
967
      }
976
968
      to+= addonf->length;
977
969
    }