From 5b12955cd5a5702848a7dd4598152186fa67e511 Mon Sep 17 00:00:00 2001 From: searchivairus Date: Thu, 20 Jul 2017 15:53:24 -0400 Subject: [PATCH] Memory leak in space_sparse_vector_inter.cc #165 --- .../src/space/space_sparse_vector_inter.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/similarity_search/src/space/space_sparse_vector_inter.cc b/similarity_search/src/space/space_sparse_vector_inter.cc index 0ed86dc..a5c0e73 100644 --- a/similarity_search/src/space/space_sparse_vector_inter.cc +++ b/similarity_search/src/space/space_sparse_vector_inter.cc @@ -55,13 +55,10 @@ Object* SpaceSparseVectorInter::CreateObjFromVect(IdType id, LabelType l char *pData = NULL; size_t dataLen = 0; - try { - PackSparseElements(InpVect, pData, dataLen); - return new Object(id, label, dataLen, pData); - } catch (...) { - delete [] pData; - throw; - } + PackSparseElements(InpVect, pData, dataLen); + unique_ptr data(pData); + unique_ptr obj(new Object(id, label, dataLen, data.get())); + return obj.release(); } template