Changeset: 11dcfc14625c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=11dcfc14625c
Modified Files:
        sql/backends/monet5/sql_statement.c
Branch: default
Log Message:

Fix after changeset 008005f1b242.

s->op3 is used to point to a sql_table* instead of a stmt* in the case
of a declared table (see stmt_vars()).  If that happens, s->op2 is
NULL.  So in order to not crash, we only push s->op3 if s->op2 is not
NULL.


diffs (22 lines):

diff --git a/sql/backends/monet5/sql_statement.c 
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -1756,12 +1756,13 @@ stack_push_children(sql_stack *stk, stmt
        default:
                if ((s->type == st_uselect2 || s->type == st_unique || s->type 
== st_group) && s->op4.stval)
                        stack_push_stmt(stk, s->op4.stval, 1);
-               if (s->op3)
-                       stack_push_stmt(stk, s->op3, 1);
-               if (s->op3)
-                       stack_push_stmt(stk, s->op3, 1);
-               if (s->op2)
+               if (s->op2) {
+                       if (s->op3)
+                               stack_push_stmt(stk, s->op3, 1);
+                       if (s->op3)
+                               stack_push_stmt(stk, s->op3, 1);
                        stack_push_stmt(stk, s->op2, 1);
+               }
                if (s->op1)
                        stack_push_stmt(stk, s->op1, 1);
        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to