FDS wrong first word stored

I'm using FDS on SDK16.0.0 to store some value, consisting of 12 int32_t values.
They are stored correctly, except the first byte.

Here is my code used to store :

    int32_t* data = malloc(12 * sizeof(int32_t));
    get_data(data);
    fds_record_t record;
    record.file_id           = 0x1111;
    record.key               = 0x2000;
    record.data.p_data       = data;
    record.data.length_words = 12;

    NRF_LOG_INFO("%d", tare_data[0]);
    NRF_LOG_INFO("%d", tare_data[1]);
    NRF_LOG_INFO("%d", tare_data[2]);
    NRF_LOG_INFO("%d", tare_data[3]);
    NRF_LOG_INFO("%d", tare_data[4]);
    NRF_LOG_INFO("%d", tare_data[5]);
    NRF_LOG_INFO("%d", tare_data[6]);
    NRF_LOG_INFO("%d", tare_data[7]);
    NRF_LOG_INFO("%d", tare_data[8]);
    NRF_LOG_INFO("%d", tare_data[9]);
    NRF_LOG_INFO("%d", tare_data[10]);
    NRF_LOG_INFO("%d", tare_data[11]);
    
    ret_code_t err_code;
    storage_access_in_progress = true;
    err_code = fds_record_write(&record_desc, &record);
    while(storage_access_in_progress) {} // awaits next event from fds_evt_handler
    free(data);

It prints :

<info> app: -84644
<info> app: 857
<info> app: 12425
<info> app: 147889
<info> app: 4579
<info> app: 66391
<info> app: -131708
<info> app: 5121
<info> app: 74249
<info> app: 124367
<info> app: 3237
<info> app: 46933

Here is the memory layout (red values are the one concerned). Notice how they are correct except the first one (84 vs -84644)

In hex view : 


What am I missing ?

Related