From 3ef82444a01be7983c2e913a1ecae36ee04bb201 Mon Sep 17 00:00:00 2001 From: Andrey Levshenko Date: Tue, 18 Jan 2022 17:21:21 +0300 Subject: [PATCH] fixing TNT_SBO_SPARSE/TNT_SBO_PACKED type objects serialization breaking if tnt_sbuf_object_grow_stack() gets called (effectively overwriting current stack array with zeroes) reproducible with following: ---------------------------- [root@vostro tmp]# cat test.c \#include \#include \#include \#include void test(int levels) { struct tnt_stream s; tnt_object(&s); tnt_object_type(&s, TNT_SBO_SPARSE); for (int i=0; istack, sbo->stack_alloc * sizeof(*sbo->stack)); tnt_mem_free(sbo->stack); sbo->stack_alloc = new_stack_alloc; sbo->stack = stack;