diff options
author | gshchepa/uchum@gleb.loc <> | 2007-05-28 00:22:44 +0500 |
---|---|---|
committer | gshchepa/uchum@gleb.loc <> | 2007-05-28 00:22:44 +0500 |
commit | fae737b4269021c9457da4d1e0db5c9c3491b247 (patch) | |
tree | d507b01c581dcd55bffd91939feeff21f51f64c2 /client/mysqldump.c | |
parent | c65b50378a2cbb7b1a6429ba0d97db8c1137d7aa (diff) | |
parent | bed482c2f98d15c8d7963e2f3c6e4d1e8f8485e0 (diff) | |
download | mariadb-git-fae737b4269021c9457da4d1e0db5c9c3491b247.tar.gz |
Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
into gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
Diffstat (limited to 'client/mysqldump.c')
-rw-r--r-- | client/mysqldump.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c index afefa467cce..9daadec34bf 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -2687,15 +2687,18 @@ static void dump_table(char *table, char *db) plus 2 bytes for '0x' prefix. - In non-HEX mode we need up to 2 bytes per character, plus 2 bytes for leading and trailing '\'' characters. + Also we need to reserve 1 byte for terminating '\0'. */ - dynstr_realloc_checked(&extended_row,length * 2+2); + dynstr_realloc_checked(&extended_row,length * 2 + 2 + 1); if (opt_hex_blob && is_blob) { dynstr_append_checked(&extended_row, "0x"); extended_row.length+= mysql_hex_string(extended_row.str + extended_row.length, row[i], length); - extended_row.str[extended_row.length]= '\0'; + DBUG_ASSERT(extended_row.length+1 <= extended_row.max_length); + /* mysql_hex_string() already terminated string by '\0' */ + DBUG_ASSERT(extended_row.str[extended_row.length] == '\0'); } else { |