Thread: beta testing - pg_upgrade bug fix - double free

beta testing - pg_upgrade bug fix - double free

From
Pavel Stehule
Date:
Hello

it fixes bug

pg_upgrade(13359) malloc: *** error for object 0x801600:
non-page-aligned, non-allocated pointer being freed
*** set a breakpoint in malloc_error_break to debug


arget 03:31 /usr/local/src/postgresql/contrib/pg_upgrade git diff .
diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c
index 31f12fb..f989229 100644
--- a/contrib/pg_upgrade/check.c
+++ b/contrib/pg_upgrade/check.c
@@ -154,7 +154,6 @@ issue_warnings(migratorContext *ctx, char
*sequence_script_file_name)                                        ctx->new.bindir,
ctx->new.port, sequence_script_file_name,                                        ctx->logfile);
unlink(sequence_script_file_name);
-                       pg_free(sequence_script_file_name);                      check_ok(ctx);              }

by Jan Matousek

Regards

Pavel


Re: beta testing - pg_upgrade bug fix - double free

From
Robert Haas
Date:
On Fri, May 21, 2010 at 10:11 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> it fixes bug
>
> pg_upgrade(13359) malloc: *** error for object 0x801600:
> non-page-aligned, non-allocated pointer being freed
> *** set a breakpoint in malloc_error_break to debug
>
>
> arget 03:31 /usr/local/src/postgresql/contrib/pg_upgrade git diff .
> diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c
> index 31f12fb..f989229 100644
> --- a/contrib/pg_upgrade/check.c
> +++ b/contrib/pg_upgrade/check.c
> @@ -154,7 +154,6 @@ issue_warnings(migratorContext *ctx, char
> *sequence_script_file_name)
>                                         ctx->new.bindir,
> ctx->new.port, sequence_script_file_name,
>                                         ctx->logfile);
>                       unlink(sequence_script_file_name);
> -                       pg_free(sequence_script_file_name);
>                       check_ok(ctx);
>               }
>
> by Jan Matousek

This patch looks correct to me, although I haven't had a chance to test it yet.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company


Re: beta testing - pg_upgrade bug fix - double free

From
Tom Lane
Date:
Pavel Stehule <pavel.stehule@gmail.com> writes:
> --- a/contrib/pg_upgrade/check.c
> +++ b/contrib/pg_upgrade/check.c
> @@ -154,7 +154,6 @@ issue_warnings(migratorContext *ctx, char
> *sequence_script_file_name)
>                                          ctx->new.bindir,
> ctx->new.port, sequence_script_file_name,
>                                          ctx->logfile);
>                        unlink(sequence_script_file_name);
> -                       pg_free(sequence_script_file_name);
>                        check_ok(ctx);
>                }

Done, thanks.
        regards, tom lane


Re: beta testing - pg_upgrade bug fix - double free

From
Bruce Momjian
Date:
Pavel Stehule wrote:
> Hello
> 
> it fixes bug
> 
> pg_upgrade(13359) malloc: *** error for object 0x801600:
> non-page-aligned, non-allocated pointer being freed
> *** set a breakpoint in malloc_error_break to debug
> 
> 
> arget 03:31 /usr/local/src/postgresql/contrib/pg_upgrade git diff .
> diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c
> index 31f12fb..f989229 100644
> --- a/contrib/pg_upgrade/check.c
> +++ b/contrib/pg_upgrade/check.c
> @@ -154,7 +154,6 @@ issue_warnings(migratorContext *ctx, char
> *sequence_script_file_name)
>                                          ctx->new.bindir,
> ctx->new.port, sequence_script_file_name,
>                                          ctx->logfile);
>                        unlink(sequence_script_file_name);
> -                       pg_free(sequence_script_file_name);
>                        check_ok(ctx);
>                }

Thanks for the report.  Tom has applied your fix.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com