diff options
author | unknown <heikki@hundin.mysql.fi> | 2003-07-30 01:12:33 +0300 |
---|---|---|
committer | unknown <heikki@hundin.mysql.fi> | 2003-07-30 01:12:33 +0300 |
commit | 30b751f8a625c6ce839ee90b0de57e657f07c50e (patch) | |
tree | ff0047239a520386049cb44da105c1bf0647dff5 /innobase | |
parent | 17a6d749d47e17022adce053671e7060190d2494 (diff) | |
download | mariadb-git-30b751f8a625c6ce839ee90b0de57e657f07c50e.tar.gz |
dict0dict.c:
Fix bug introduced in 4.0.13 and reported by Emic: if a CREATE TABLE ended in a comment, a memory overrun could happen
innobase/dict/dict0dict.c:
Fix bug introduced in 4.0.13 and reported by Emic: if a CREATE TABLE ended in a comment, a memory overrun could happen
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/dict/dict0dict.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/innobase/dict/dict0dict.c b/innobase/dict/dict0dict.c index b1d7b5f762e..924fa3ecf95 100644 --- a/innobase/dict/dict0dict.c +++ b/innobase/dict/dict0dict.c @@ -2405,9 +2405,12 @@ dict_strip_comments( ptr = str; for (;;) { +scan_more: if (*sptr == '\0') { *ptr = '\0'; + ut_a(ptr <= str + strlen(sql_string)); + return(str); } @@ -2421,7 +2424,7 @@ dict_strip_comments( || *sptr == (char)0x0D || *sptr == '\0') { - break; + goto scan_more; } sptr++; @@ -2435,12 +2438,12 @@ dict_strip_comments( sptr += 2; - break; + goto scan_more; } if (*sptr == '\0') { - break; + goto scan_more; } sptr++; |