summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorunknown <svoj@may.pils.ru>2006-06-07 19:44:43 +0500
committerunknown <svoj@may.pils.ru>2006-06-07 19:44:43 +0500
commitcd323e29d4f52dfc3f52aa541b7cfab01bf84188 (patch)
tree662f913bb43e9244442d68919ba4df6adc3bd89c /include
parent8efe592d58f657800c7c4e00f2c85815f7ae03d8 (diff)
downloadmariadb-git-cd323e29d4f52dfc3f52aa541b7cfab01bf84188.tar.gz
BUG#12982 - LOAD DATA fails without any error for big files with big
read buffer Setting read buffer to values greater than SSIZE_MAX results in unexpected behavior. According to read(2) manual: If count is greater than SSIZE_MAX, the result is unspecified. Set upper limit for read_buffer_size and read_rnd_buffer_size to SSIZE_MAX. include/my_global.h: Define SSIZE_MAX if not defined. sql/mysqld.cc: Set upper limit for read_buffer_size and read_rnd_buffer_size to SSIZE_MAX.
Diffstat (limited to 'include')
-rw-r--r--include/my_global.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/my_global.h b/include/my_global.h
index 7adf4845984..0458d9dcf2c 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -736,6 +736,9 @@ typedef SOCKET_SIZE_TYPE size_socket;
#define DBL_MAX 1.79769313486231470e+308
#define FLT_MAX ((float)3.40282346638528860e+38)
#endif
+#ifndef SSIZE_MAX
+#define SSIZE_MAX (ssize_t)((~((size_t) 0)) / 2)
+#endif
#if !defined(HAVE_ISINF) && !defined(isinf)
#define isinf(X) 0