![](https://secure.gravatar.com/avatar/39b623a1559cf9c69ac3d9d4fb44e7fe.jpg?s=120&d=mm&r=g)
Hi, Sachin! Looks good, thanks! Ok to push. On Apr 16, sachin wrote:
revision-id: 5e94fe189d6325028613b2c830082e07ff303acb (mariadb-10.3.5-156-g5e94fe1) parent(s): f0e4f94c230326a2f2e608e4119530d775c37b21 author: Sachin Setiya committer: Sachin Setiya timestamp: 2018-04-16 16:27:11 +0530 message:
MDEV-15754 Server crashes in fill_record_n_invoke_before_triggers upon ... insert into table with TIMESTAMP INVISIBLE
Problem:- The segfault occurs because value is null but since timestamp field is VISIBLE it expects a value , and it tries to call value->save_in_field(.. Timestamp field should not be visible this is the problem.
Solution:- While we clone field for record0_field we don't honor the field _visibility , this patch changes that.
diff --git a/sql/sql_trigger.cc b/sql/sql_trigger.cc index 4c1e2a5..d523779 100644 --- a/sql/sql_trigger.cc +++ b/sql/sql_trigger.cc @@ -1240,6 +1240,7 @@ bool Table_triggers_list::prepare_record_accessors(TABLE *table) return 1;
f->flags= (*fld)->flags; + f->invisible= (*fld)->invisible; f->null_ptr= null_ptr; f->null_bit= null_bit; if (null_bit == 128)
Regards, Sergei Chief Architect MariaDB and security@mariadb.org