Fix unprotected SIZE in macro.

Gotta love macros. Because of the absense of brackets around an expression like mat.cols() + 1 in a macro call,

ei_declare_aligned_stack_constructed_variable(int, ptr, 10 + 1, nullptr)

ends up calling

Eigen::internal::aligned_alloc(sizeof(int) * 10 + 1);  // 41

instead of

Eigen::internal::aligned_alloc(sizeof(int) * (10 + 1));  // 44

leading to a buffer that is too small. Protecting the SIZE argument with brackets in ei_declare_aligned_stack_constructed_variable fixes this.

Fixes #2941 (closed).

Merge request reports

Loading