Why doesn't the shrink() method in sql_string.h check the value of
alloced before calling my_realloc? my_realloc might free Ptr, but when
alloced=0 that memory is not owned by the string.
2 bk@work | inline void shrink(uint32 arg_length)
// Shrink buffer
2 bk@work | {
2 bk@work | if (arg_length < Alloced_length)
2 bk@work | {
2 bk@work | char *new_ptr;
2 bk@work | if (!(new_ptr=(char*)
my_realloc(Ptr,arg_length,MYF(0))))
2 bk@work | {
228 sasha@m | Alloced_length = 0;
2 bk@work | real_alloc(arg_length);
2 bk@work | }
2 bk@work | else
2 bk@work | {
2 bk@work | Ptr=new_ptr;
2 bk@work | Alloced_length=arg_length;
2 bk@work | }
2 bk@work | }
2 bk@work | }
--
Mark Callaghan
[email protected]
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help : https://help.launchpad.net/ListHelp