Re: Possible bug in plpgsql/src/gram.y

From: Jan Wieck <JanWieck(at)Yahoo(dot)com>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Ian Lance Taylor <ian(at)airs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Possible bug in plpgsql/src/gram.y
Date: 2001-07-12 12:04:48
Message-ID: 200107121204.f6CC4ms21764@jupiter.us.greatbridge.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce Momjian wrote:
>
> Confirmed. I found a second problem in the file too, very similar.
> Patch applied.

Cut'n paste error. Thanks to both of you, good catch.

Jan

>
> > In this bit of code in src/pl/plpgsql/src/gram.y in the current CVS
> > sources, curname_def is defined as PLpgSQL_expr * but it is is
> > allocated the space required for a PLpgSQL_var. This looks like a
> > bug.
> >
> > Ian
> >
> > | decl_varname K_CURSOR decl_cursor_args decl_is_from K_SELECT decl_cursor_query
> > {
> > PLpgSQL_var *new;
> > PLpgSQL_expr *curname_def;
> > char buf[1024];
> > char *cp1;
> > char *cp2;
> >
> > plpgsql_ns_pop();
> >
> > new = malloc(sizeof(PLpgSQL_var));
> > memset(new, 0, sizeof(PLpgSQL_var));
> >
> > curname_def = malloc(sizeof(PLpgSQL_var));
> > memset(curname_def, 0, sizeof(PLpgSQL_var));
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> > message can get through to the mailing list cleanly
> >
>
> --
> Bruce Momjian | http://candle.pha.pa.us
> pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
> + If your life is a hard drive, | 830 Blythe Avenue
> + Christ can be your backup. | Drexel Hill, Pennsylvania 19026

> Index: src/pl/plpgsql/src/gram.y
> ===================================================================
> RCS file: /home/projects/pgsql/cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v
> retrieving revision 1.22
> diff -c -r1.22 gram.y
> *** src/pl/plpgsql/src/gram.y 2001/07/11 18:54:18 1.22
> --- src/pl/plpgsql/src/gram.y 2001/07/12 01:15:05
> ***************
> *** 332,338 ****
> {
> PLpgSQL_rec *new;
>
> ! new = malloc(sizeof(PLpgSQL_var));
>
> new->dtype = PLPGSQL_DTYPE_REC;
> new->refname = $1.name;
> --- 332,338 ----
> {
> PLpgSQL_rec *new;
>
> ! new = malloc(sizeof(PLpgSQL_rec));
>
> new->dtype = PLPGSQL_DTYPE_REC;
> new->refname = $1.name;
> ***************
> *** 374,381 ****
> new = malloc(sizeof(PLpgSQL_var));
> memset(new, 0, sizeof(PLpgSQL_var));
>
> ! curname_def = malloc(sizeof(PLpgSQL_var));
> ! memset(curname_def, 0, sizeof(PLpgSQL_var));
>
> new->dtype = PLPGSQL_DTYPE_VAR;
> new->refname = $1.name;
> --- 374,381 ----
> new = malloc(sizeof(PLpgSQL_var));
> memset(new, 0, sizeof(PLpgSQL_var));
>
> ! curname_def = malloc(sizeof(PLpgSQL_expr));
> ! memset(curname_def, 0, sizeof(PLpgSQL_expr));
>
> new->dtype = PLPGSQL_DTYPE_VAR;
> new->refname = $1.name;

>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #

_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jan Wieck 2001-07-12 12:07:53 Re: Possible bug in plpgsql/src/gram.y
Previous Message V. M. 2001-07-12 09:41:14 Child itemid in update-chain marked as unused - can't continue repair_frag