From: Michael Meskes Date: Thu, 22 May 2003 17:09:00 +0000 (+0000) Subject: Fixed segfault when detecting undefined cursor. X-Git-Tag: REL7_4_BETA1~563 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dbd55d3a5b281131873c25d67a25434554b61d1e;p=postgresql Fixed segfault when detecting undefined cursor. --- diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index bcdf775c9d..bb00b7ed3d 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 {