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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
dddced96
Commit
dddced96
authored
Dec 06, 2007
by
tnurnberg@mysql.com/white.intern.koehntopp.de
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug#31752: check strmake() bounds
post-fixes: prevent semi-related overflow, additional comments
parent
1a95ed1d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
11 additions
and
5 deletions
+11
-5
mysys/mf_pack.c
mysys/mf_pack.c
+2
-2
sql/log.cc
sql/log.cc
+1
-1
sql/sql_show.cc
sql/sql_show.cc
+3
-2
sql/unireg.cc
sql/unireg.cc
+5
-0
No files found.
mysys/mf_pack.c
View file @
dddced96
...
...
@@ -272,7 +272,7 @@ void symdirget(char *dir)
SYNOPSIS
unpack_dirname()
to
Store result here. May be
= from
to
result-buffer, FN_REFLEN characters. may be =
= from
from 'Packed' directory name (may contain ~)
IMPLEMENTATION
...
...
@@ -398,7 +398,7 @@ uint unpack_filename(my_string to, const char *from)
/* Convert filename (unix standard) to system standard */
/* Used before system command's like open(), create() .. */
/* Returns
length of to
*/
/* Returns
used length of to; total length should be FN_REFLEN
*/
uint
system_filename
(
my_string
to
,
const
char
*
from
)
{
...
...
sql/log.cc
View file @
dddced96
...
...
@@ -963,7 +963,7 @@ err:
void
MYSQL_LOG
::
make_log_name
(
char
*
buf
,
const
char
*
log_ident
)
{
uint
dir_len
=
dirname_length
(
log_file_name
);
if
(
dir_len
>
FN_REFLEN
)
if
(
dir_len
>
=
FN_REFLEN
)
dir_len
=
FN_REFLEN
-
1
;
strnmov
(
buf
,
log_file_name
,
dir_len
);
strmake
(
buf
+
dir_len
,
log_ident
,
FN_REFLEN
-
dir_len
-
1
);
...
...
sql/sql_show.cc
View file @
dddced96
...
...
@@ -136,7 +136,8 @@ int mysqld_show_tables(THD *thd,const char *db,const char *wild)
{
Item_string
*
field
=
new
Item_string
(
""
,
0
,
thd
->
charset
());
List
<
Item
>
field_list
;
char
path
[
FN_REFLEN
],
*
end
;
char
path
[
FN_REFLEN
],
*
end
;
// for unpack_dirname()
List
<
char
>
files
;
char
*
file_name
;
Protocol
*
protocol
=
thd
->
protocol
;
...
...
@@ -457,7 +458,7 @@ int mysqld_extend_show_tables(THD *thd,const char *db,const char *wild)
Item
*
item
;
List
<
char
>
files
;
List
<
Item
>
field_list
;
char
path
[
FN_REFLEN
];
char
path
[
FN_REFLEN
];
// for unpack_dirname()
char
*
file_name
;
TABLE
*
table
;
Protocol
*
protocol
=
thd
->
protocol
;
...
...
sql/unireg.cc
View file @
dddced96
...
...
@@ -141,6 +141,11 @@ bool mysql_create_frm(THD *thd, my_string file_name,
60
);
forminfo
[
46
]
=
(
uchar
)
strlen
((
char
*
)
forminfo
+
47
);
// Length of comment
#ifdef EXTRA_DEBUG
/*
EXTRA_DEBUG causes strmake() to initialize its buffer behind the
payload with a magic value to detect wrong buffer-sizes. We
explicitly zero that segment again.
*/
memset
((
char
*
)
forminfo
+
47
+
forminfo
[
46
],
0
,
61
-
forminfo
[
46
]);
#endif
...
...
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