From dbd55d3a5b281131873c25d67a25434554b61d1e Mon Sep 17 00:00:00 2001 From: Michael Meskes <meskes@postgresql.org> Date: Thu, 22 May 2003 17:09:00 +0000 Subject: [PATCH] Fixed segfault when detecting undefined cursor. --- src/interfaces/ecpg/preproc/preproc.y | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index bcdf775c9d4..bb00b7ed3da 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -1,4 +1,4 @@ -/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.220 2003/05/22 07:58:41 meskes Exp $ */ +/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.221 2003/05/22 17:09:00 meskes Exp $ */ /* Copyright comment */ %{ @@ -610,15 +610,17 @@ stmt: AlterDatabaseSetStmt { output_statement($1, 0, connection); } snprintf(errortext, sizeof(errortext), "trying to open undeclared cursor %s\n", $1); mmerror(PARSE_ERROR, ET_ERROR, errortext); } + else + { + /* merge variables given in prepare statement with those given here */ + for (p = ptr->argsinsert; p; p = p->next) + append_variable(&argsinsert, p->variable, p->var_array_element, p->indicator, p->ind_array_element); - /* merge variables given in prepare statement with those given here */ - for (p = ptr->argsinsert; p; p = p->next) - append_variable(&argsinsert, p->variable, p->var_array_element, p->indicator, p->ind_array_element); - - for (p = ptr->argsresult; p; p = p->next) - add_variable(&argsresult, p->variable, p->var_array_element, p->indicator, p->ind_array_element); + for (p = ptr->argsresult; p; p = p->next) + add_variable(&argsresult, p->variable, p->var_array_element, p->indicator, p->ind_array_element); - output_statement(mm_strdup(ptr->command), 0, ptr->connection ? mm_strdup(ptr->connection) : NULL); + output_statement(mm_strdup(ptr->command), 0, ptr->connection ? mm_strdup(ptr->connection) : NULL); + } } | ECPGPrepare { -- GitLab