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));