BUG#14629727: USER_VAR_EVENT IS MISSING RANGE CHECKS

Moved explicit instantiation of available_buffer and valid_buffer_range 
template functions to sql/log_event.cc.
This commit is contained in:
Nuno Carvalho 2012-10-21 20:28:19 +01:00
parent a08ccb57e3
commit 03572c5b82
2 changed files with 16 additions and 9 deletions

View File

@ -54,6 +54,22 @@
*/
#define FMT_G_BUFSIZE(PREC) (3 + (PREC) + 5 + 1)
/*
Explicit instantiation to unsigned int of template available_buffer
function.
*/
template unsigned int available_buffer<unsigned int>(const char*,
const char*,
unsigned int);
/*
Explicit instantiation to unsigned int of template valid_buffer_range
function.
*/
template bool valid_buffer_range<unsigned int>(unsigned int,
const char*,
const char*,
unsigned int);
#if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION)
static int rows_event_stmt_cleanup(Relay_log_info const *rli, THD* thd);

View File

@ -516,10 +516,6 @@ template <class T> T available_buffer(const char* buf_start,
{
return buf_len - (buf_current - buf_start);
}
/* Explicit instantion to unsigned int. */
template unsigned int available_buffer<unsigned int>(const char*,
const char*,
unsigned int);
/*
Check if jump value is within buffer limits.
@ -539,11 +535,6 @@ template <class T> bool valid_buffer_range(T jump,
{
return (jump <= available_buffer(buf_start, buf_current, buf_len));
}
/* Explicit instantion to unsigned int. */
template bool valid_buffer_range<unsigned int>(unsigned int,
const char*,
const char*,
unsigned int);
/* The rest of the file is included in the server only */
#ifndef MYSQL_CLIENT