Hi Alfranio,
Great findings! Patch approved!
I think this is also the reason for all other test failures in
kernel32.dll!HeapFree() (Bug#45243, Bug#45242), and may also related to
some of the test failures which lost connection to server during query.
Alfranio Correia wrote:
> #At
> file:///home/acorreia/workspace.sun/repository.mysql/bzrwork/bug-40796/mysql-5.1-bugteam-linux/
> based on revid:davi.arnaut@stripped
>
> 3043 Alfranio Correia 2009-07-25
> BUG#40796 Crash due to heap corruption in rpl.rpl_extraColmaster_myisam
>
> Memory allocation error in the vio_new function was causing a corrupted
> stack and crashing MySQL.
>
> modified:
> vio/vio.c
> === modified file 'vio/vio.c'
> --- a/vio/vio.c 2007-05-10 09:59:39 +0000
> +++ b/vio/vio.c 2009-07-25 18:48:39 +0000
> @@ -140,7 +140,7 @@ Vio *vio_new(my_socket sd, enum enum_vio
> Vio *vio;
> DBUG_ENTER("vio_new");
> DBUG_PRINT("enter", ("sd: %d", sd));
> - if ((vio = (Vio*) my_malloc(sizeof(*vio),MYF(MY_WME))))
> + if ((vio = (Vio*) my_malloc(sizeof(Vio),MYF(MY_WME))))
> {
> vio_init(vio, type, sd, 0, flags);
> sprintf(vio->desc,
>