summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorBjorn Munch <Bjorn.Munch@sun.com>2010-01-20 12:52:35 +0100
committerBjorn Munch <Bjorn.Munch@sun.com>2010-01-20 12:52:35 +0100
commit35d0d10ac281acb87b35caec0ceb0eade9a6927d (patch)
tree308ea0417ae1dac871b4396120117c6ada7335c8 /client
parentbe128c547fc614349695208f37fccf2a86e2139a (diff)
downloadmariadb-git-35d0d10ac281acb87b35caec0ceb0eade9a6927d.tar.gz
Bug #48888 mysqltest crashes on --replace_result if 'from' is longer than ~1024 symbols
valgrind pointed to a buffer allocated by my_realloc which looked fishy Replaced size with what was probably intended, added test case. Now also fixed line after review comment
Diffstat (limited to 'client')
-rw-r--r--client/mysqltest.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/client/mysqltest.cc b/client/mysqltest.cc
index 45f94982472..052f6421dd7 100644
--- a/client/mysqltest.cc
+++ b/client/mysqltest.cc
@@ -9452,7 +9452,7 @@ int insert_pointer_name(reg1 POINTER_ARRAY *pa,char * name)
if (pa->length+length >= pa->max_length)
{
if (!(new_pos= (uchar*) my_realloc((uchar*) pa->str,
- (uint) (pa->max_length+PS_MALLOC),
+ (uint) (pa->length+length+PS_MALLOC),
MYF(MY_WME))))
DBUG_RETURN(1);
if (new_pos != pa->str)
@@ -9463,7 +9463,7 @@ int insert_pointer_name(reg1 POINTER_ARRAY *pa,char * name)
char*);
pa->str=new_pos;
}
- pa->max_length+=PS_MALLOC;
+ pa->max_length= pa->length+length+PS_MALLOC;
}
if (pa->typelib.count >= pa->max_count-1)
{