Open
Description
Hello,
sizeof(scalar_array_desc) == 32
Note - it is a size of an array descriptor with one dimension.
When I call the UDF
DECLARE EXTERNAL FUNCTION IBP_UDF__ADIM__I4
INTEGER BY SCALAR_ARRAY
RETURNS INTEGER BY VALUE
ENTRY_POINT 'fn_get_arr_dim__i4__sa'
MODULE_NAME 'lcpi.ibp.test.udf.01.dll'
I see the following situation in this code:
Lines 377 to 380 in 6340df1

Server allocates 16+8 bytes here.
And it uses this memory below:
Lines 479 to 483 in 6340df1
There are two mistakes
- function->fun_temp_length is calculated incorrectly
- It won't work with multidimensional arrays - get_scalar_array must allocate scalar_array_desc.
Server crashes in MemPool::releaseMemory

Metadata
Metadata
Assignees
Labels
No labels