Created attachment 141673 [details]
Compiler crashes on incremental of non-existent struct members
Compiler crashes on incremental of non-existent struct members, for example having in GLSL code:
some_struct.foo += 5;
if the type which some_struct is does not contain the member foo. It appears that most (if not all) incremental operator cause a crash in Mesa regardless of the RHS type. All that is needed is that the member of the struct does not exist for Mesa to crash.
Crash appeared on current master (git-ab80889e92) and also on Ubuntu 18.04 Mesa (18.0.5) and likely has been in Mesa for quite some time.
sent a test and a fix proposal ..
Author: Tapani Pälli <email@example.com>
Date: Tue Sep 25 17:04:40 2018 +0300
glsl: do not attempt assignment if operand type not parsed correctly
v2: check types of both operands (Ian)
Signed-off-by: Tapani Pälli <firstname.lastname@example.org>
Reviewed-by: Ian Romanick <email@example.com>