Fix illegal memory access on table that should have been synced with ydb_types enum. The offending table is default_pre_alloc_value
Final Release Note
Description
- The default_pre_alloc_value table should have been sync'ed with ydb_types enum in sr_unix/fgncalsp.c but the source only warned about the parm_space_needed table.
- This error was further exacerbated by !1453 (merged) on 32-bit machines, which is how it got caught by a 32-bit xcall/basic test.
- A static_assert should be added to both of the relevant tables to catch that they are out of sync at compile-time.
Draft Release Note
- Bugfix: In an external call-out table, specifying the default preallocation size for ydb_buffer_t resulted in an illegal memory access. For example, the issue can be reproduced by call-out table line
func: void func(O:ydb_buffer_t*[]). This error is very unlikely to occur since the default buffer size is only 1 character and thus most users would not use it.
Edited by Berwyn Hoyt