diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 29f41b9e4632f65f2a5aa02aa05c09f1acdd7e0e..8196449cf455b9fc6792aebf96784c9bf8929051 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -2035,5 +2035,10 @@ Mo Jun 26 11:05:25 CEST 2006 - Added some more coverity report patches send in by Joachim Wieland <joe@mcknight.de>. + +Mo Jun 26 16:08:23 CEST 2006 + + - Added missing braces to prevent a segfault after usage of an + undeclared cursor. - Set ecpg library version to 5.2. - Set ecpg version to 4.2.1. diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 8e1ad2e81d61d6e96e5f3873a6c2b42e197e4dd0..a005e71f2851135650fe1e47273390edfccd905d 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.324 2006/06/06 11:31:55 meskes Exp $ */ +/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.325 2006/06/26 14:12:02 meskes Exp $ */ /* Copyright comment */ %{ @@ -292,6 +292,7 @@ add_additional_variables(char *name, bool insert) mmerror(PARSE_ERROR, ET_ERROR, "trying to access an undeclared cursor %s\n", name); return NULL; } + if (insert) { /* add all those input variables that were given earlier @@ -837,9 +838,11 @@ stmt: AlterDatabaseStmt { output_statement($1, 0, connection); } struct cursor *ptr; if ((ptr = add_additional_variables($1, true)) != NULL) + { output_statement(mm_strdup(ptr->command), 0, ptr->connection ? mm_strdup(ptr->connection) : NULL); - ptr->opened = true; + ptr->opened = true; + } } | ECPGPrepare {