Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
90924fcb
Commit
90924fcb
authored
Jul 28, 2005
by
jimw@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix for handling of unsigned long options on 32-bit platforms that
allowed unintended overflows. (Bug #10351)
parent
72a6c71d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
20 deletions
+16
-20
mysql-test/r/select_safe.result
mysql-test/r/select_safe.result
+0
-3
mysql-test/r/variables.result
mysql-test/r/variables.result
+6
-10
mysql-test/t/select_safe.test
mysql-test/t/select_safe.test
+0
-1
mysql-test/t/variables.test
mysql-test/t/variables.test
+3
-5
sql/mysqld.cc
sql/mysqld.cc
+1
-1
sql/set_var.cc
sql/set_var.cc
+6
-0
No files found.
mysql-test/r/select_safe.result
View file @
90924fcb
...
...
@@ -60,9 +60,6 @@ a b
3 a
4 a
5 a
SELECT @@MAX_SEEKS_FOR_KEY;
@@MAX_SEEKS_FOR_KEY
4294967295
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status OK
...
...
mysql-test/r/variables.result
View file @
90924fcb
...
...
@@ -526,14 +526,10 @@ ERROR HY000: Variable 'warning_count' is a read only variable
set @@global.error_count=1;
ERROR HY000: Variable 'error_count' is a read only variable
set @@max_heap_table_size= 4294967296;
select @@max_heap_table_size;
@@max_heap_table_size
4294967296
select @@max_heap_table_size
> 0
;
@@max_heap_table_size
> 0
1
set global max_heap_table_size= 4294967296;
select @@max_heap_table_size;
@@max_heap_table_size
4294967296
set @@max_heap_table_size= 4294967296;
select @@max_heap_table_size;
@@max_heap_table_size
4294967296
select @@global.max_heap_table_size > 0;
@@global.max_heap_table_size > 0
1
mysql-test/t/select_safe.test
View file @
90924fcb
...
...
@@ -56,7 +56,6 @@ SELECT * from t1;
#
# Test MAX_SEEKS_FOR_KEY
#
SELECT
@@
MAX_SEEKS_FOR_KEY
;
analyze
table
t1
;
insert
into
t1
values
(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
),(
null
,
"a"
);
explain
select
STRAIGHT_JOIN
*
from
t1
,
t1
as
t2
where
t1
.
b
=
t2
.
b
;
...
...
mysql-test/t/variables.test
View file @
90924fcb
...
...
@@ -408,11 +408,9 @@ set @@warning_count=1;
set
@@
global
.
error_count
=
1
;
#
# Bug #10351: Setting
max_heap_table_size to 4G fails
# Bug #10351: Setting
ulong variable to > MAX_ULONG fails on 32-bit platform
#
set
@@
max_heap_table_size
=
4294967296
;
select
@@
max_heap_table_size
;
select
@@
max_heap_table_size
>
0
;
set
global
max_heap_table_size
=
4294967296
;
select
@@
max_heap_table_size
;
set
@@
max_heap_table_size
=
4294967296
;
select
@@
max_heap_table_size
;
select
@@
global
.
max_heap_table_size
>
0
;
sql/mysqld.cc
View file @
90924fcb
...
...
@@ -5371,7 +5371,7 @@ The minimum value for this variable is 4096.",
"Limit assumed max number of seeks when looking up rows based on a key"
,
(
gptr
*
)
&
global_system_variables
.
max_seeks_for_key
,
(
gptr
*
)
&
max_system_variables
.
max_seeks_for_key
,
0
,
GET_ULONG
,
REQUIRED_ARG
,
UINT_MAX32
,
1
,
UINT_MAX32
,
0
,
1
,
0
},
REQUIRED_ARG
,
~
0L
,
1
,
~
0L
,
0
,
1
,
0
},
{
"max_sort_length"
,
OPT_MAX_SORT_LENGTH
,
"The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored)."
,
(
gptr
*
)
&
global_system_variables
.
max_sort_length
,
...
...
sql/set_var.cc
View file @
90924fcb
...
...
@@ -1422,6 +1422,12 @@ bool sys_var_thd_ulong::update(THD *thd, set_var *var)
{
ulonglong
tmp
=
var
->
save_result
.
ulonglong_value
;
#if SIZEOF_LONG != SIZEOF_LONGLONG
/* Avoid overflow on 32-bit platforms. */
if
(
tmp
>
ULONG_MAX
)
tmp
=
ULONG_MAX
;
#endif
/* Don't use bigger value than given with --maximum-variable-name=.. */
if
((
ulong
)
tmp
>
max_system_variables
.
*
offset
)
tmp
=
max_system_variables
.
*
offset
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment