diff --git a/src/pl/plpgsql/src/gram.y b/src/pl/plpgsql/src/gram.y
index 8251d71908ef8791a2e0bc20ca242a87ef42678a..ed1704276e9deb8fd790d0eb818b79f9dd4e3a70 100644
--- a/src/pl/plpgsql/src/gram.y
+++ b/src/pl/plpgsql/src/gram.y
@@ -4,7 +4,7 @@
  *			  procedural language
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.12 2000/09/05 09:02:18 wieck Exp $
+ *    $Header: /cvsroot/pgsql/src/pl/plpgsql/src/gram.y,v 1.13 2001/01/06 01:39:01 tgl Exp $
  *
  *    This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -378,13 +378,15 @@ decl_rowtype	: T_ROW
 
 decl_varname	: T_WORD
 		    {
-		        $$.name = plpgsql_tolower(strdup(yytext));
-			$$.lineno  = yylineno;
+				/* name should be malloc'd for use as varname */
+				$$.name = strdup(plpgsql_tolower(yytext));
+				$$.lineno  = yylineno;
 		    }
 		;
 
 decl_renname	: T_WORD
 		    {
+				/* the result must be palloc'd, see plpgsql_ns_rename */
 		        $$ = plpgsql_tolower(yytext);
 		    }
 		;