~ubuntu-branches/ubuntu/lucid/mysql-dfsg-5.1/lucid-security

« back to all changes in this revision

Viewing changes to libmysqld/lib_sql.cc

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 22:33:55 UTC
  • mfrom: (1.1.5)
  • Revision ID: package-import@ubuntu.com-20120222223355-or06x1euyk8n0ldi
Tags: 5.1.61-0ubuntu0.10.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
* Dropped patches unnecessary with 5.1.61:
  - debian/patches/90_mysql_safer_strmov.dpatch
  - debian/patches/51_ssl_test_certs.dpatch
  - debian/patches/52_CVE-2009-4030.dpatch
  - debian/patches/53_CVE-2009-4484.dpatch
  - debian/patches/54_CVE-2008-7247.dpatch
  - debian/patches/55_CVE-2010-1621.dpatch
  - debian/patches/56_CVE-2010-1850.dpatch
  - debian/patches/57_CVE-2010-1849.dpatch
  - debian/patches/58_CVE-2010-1848.dpatch
  - debian/patches/59_CVE-2010-1626.dpatch
  - debian/patches/60_CVE-2010-2008.dpatch
  - debian/patches/60_CVE-2010-3677.dpatch
  - debian/patches/60_CVE-2010-3678.dpatch
  - debian/patches/60_CVE-2010-3679.dpatch
  - debian/patches/60_CVE-2010-3680.dpatch
  - debian/patches/60_CVE-2010-3681.dpatch
  - debian/patches/60_CVE-2010-3682.dpatch
  - debian/patches/60_CVE-2010-3683.dpatch
  - debian/patches/60_CVE-2010-3833.dpatch
  - debian/patches/60_CVE-2010-3834.dpatch
  - debian/patches/60_CVE-2010-3835.dpatch
  - debian/patches/60_CVE-2010-3836.dpatch
  - debian/patches/60_CVE-2010-3837.dpatch
  - debian/patches/60_CVE-2010-3838.dpatch
  - debian/patches/60_CVE-2010-3839.dpatch
  - debian/patches/60_CVE-2010-3840.dpatch
  - debian/patches/61_disable_longfilename_test.dpatch
  - debian/patches/62_alter_table_fix.dpatch
  - debian/patches/63_cherrypick-upstream-49479.dpatch
  - debian/patches/10_readline_build_fix.dpatch
* debian/mysql-client-5.1.docs: removed EXCEPTIONS-CLIENT file
* debian/mysql-server-5.1.docs,debian/libmysqlclient16.docs,
  debian/libmysqlclient-dev.docs: removed, no longer necessary.

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
  DBUG_VOID_RETURN;
52
52
}
53
53
 
 
54
/*
 
55
  Wrapper error handler for embedded server to call client/server error 
 
56
  handler based on whether thread is in client/server context
 
57
*/
 
58
 
 
59
static int embedded_error_handler(uint error, const char *str, myf MyFlags)
 
60
{
 
61
  DBUG_ENTER("embedded_error_handler");
 
62
 
 
63
  /* 
 
64
    If current_thd is NULL, it means restore_global has been called and 
 
65
    thread is in client context, then call client error handler else call 
 
66
    server error handler.
 
67
  */
 
68
  DBUG_RETURN(current_thd ? my_message_sql(error, str, MyFlags):
 
69
              my_message_no_curses(error, str, MyFlags));
 
70
}
54
71
 
55
72
/*
56
73
  Reads error information from the MYSQL_DATA and puts
107
124
  if (mysql->status != MYSQL_STATUS_READY)
108
125
  {
109
126
    set_mysql_error(mysql, CR_COMMANDS_OUT_OF_SYNC, unknown_sqlstate);
110
 
    return 1;
 
127
    result= 1;
 
128
    goto end;
111
129
  }
112
130
 
113
131
  /* Clear result variables */
147
165
#if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER)
148
166
  thd->profiling.finish_current_query();
149
167
#endif
 
168
 
 
169
end:
 
170
  thd->restore_globals();
150
171
  return result;
151
172
}
152
173
 
525
546
    return 1;
526
547
  }
527
548
 
528
 
  error_handler_hook = my_message_sql;
 
549
  /* 
 
550
    set error_handler_hook to embedded_error_handler wrapper.
 
551
  */
 
552
  error_handler_hook= embedded_error_handler;
529
553
 
530
554
  acl_error= 0;
531
555
#ifndef NO_EMBEDDED_ACCESS_CHECKS