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