diff --git a/src/gausskernel/storage/access/heap/tuptoaster.cpp b/src/gausskernel/storage/access/heap/tuptoaster.cpp index b405a8954b479d23e4724ff098ab657a87b04074..16f79f1d0025ba00e3647305394b26555238f6e7 100644 --- a/src/gausskernel/storage/access/heap/tuptoaster.cpp +++ b/src/gausskernel/storage/access/heap/tuptoaster.cpp @@ -159,6 +159,7 @@ struct varlena *heap_tuple_untoast_attr(struct varlena *attr, ScalarVector *arr) } SET_VARSIZE(attr, PGLZ_RAW_SIZE(tmp) + VARHDRSZ); pglz_decompress(tmp, VARDATA(attr)); + pfree(tmp); } else if (VARATT_IS_SHORT(attr) && !VARATT_IS_HUGE_TOAST_POINTER(attr)) { /* * This is a short-header varlena --- convert to 4-byte header format