From 767d4459e5f4514f4a22fe93f6c45be4792a5b2d Mon Sep 17 00:00:00 2001 From: Parker Liu Date: Mon, 13 Sep 2021 10:20:17 +0800 Subject: [PATCH] Fix memory leak in data_val_test.cc and reformat source files --- src/base/neu_data_expr.c | 1 + src/types.c | 16 ++++---- tests/data_val_test.cc | 81 +++++++++++++++++++++------------------- 3 files changed, 52 insertions(+), 46 deletions(-) diff --git a/src/base/neu_data_expr.c b/src/base/neu_data_expr.c index cb121cfe..033a91ee 100644 --- a/src/base/neu_data_expr.c +++ b/src/base/neu_data_expr.c @@ -1132,6 +1132,7 @@ int neu_dvalue_serialize(neu_data_val_t *val, uint8_t **p_buf) size = do_dvalue_serialize(val, out_buf); if (size == 0) { + free(out_buf); return -1; } diff --git a/src/types.c b/src/types.c index 2b2a76bc..da15edcd 100644 --- a/src/types.c +++ b/src/types.c @@ -33,7 +33,7 @@ neu_double_t neu_bytedec_toDouble(neu_bytedec_t b) neu_word_t dec = 1; for (int m = 0; m < b.decimal; m++) dec *= 10; - return (((neu_double_t) (b.value % dec)) / dec + b.value / dec); + return (((neu_double_t)(b.value % dec)) / dec + b.value / dec); } neu_double_t neu_ubytedec_toDouble(neu_ubytedec_t ub) @@ -41,7 +41,7 @@ neu_double_t neu_ubytedec_toDouble(neu_ubytedec_t ub) neu_word_t dec = 1; for (int m = 0; m < ub.decimal; m++) dec *= 10; - return (((neu_double_t) (ub.value % dec)) / dec + ub.value / dec); + return (((neu_double_t)(ub.value % dec)) / dec + ub.value / dec); } neu_double_t neu_worddec_toDouble(neu_worddec_t w) @@ -49,7 +49,7 @@ neu_double_t neu_worddec_toDouble(neu_worddec_t w) neu_word_t dec = 1; for (int m = 0; m < w.decimal; m++) dec *= 10; - return (((neu_double_t) (w.value % dec)) / dec + w.value / dec); + return (((neu_double_t)(w.value % dec)) / dec + w.value / dec); } neu_double_t neu_uworddec_toDouble(neu_uworddec_t uw) @@ -57,7 +57,7 @@ neu_double_t neu_uworddec_toDouble(neu_uworddec_t uw) neu_word_t dec = 1; for (int m = 0; m < uw.decimal; m++) dec *= 10; - return (((neu_double_t) (uw.value % dec)) / dec + uw.value / dec); + return (((neu_double_t)(uw.value % dec)) / dec + uw.value / dec); } neu_double_t neu_dworddec_toDouble(neu_dworddec_t dw) @@ -65,7 +65,7 @@ neu_double_t neu_dworddec_toDouble(neu_dworddec_t dw) neu_word_t dec = 1; for (int m = 0; m < dw.decimal; m++) dec *= 10; - return (((neu_double_t) (dw.value % dec)) / dec + dw.value / dec); + return (((neu_double_t)(dw.value % dec)) / dec + dw.value / dec); } neu_double_t neu_udworddec_toDouble(neu_udworddec_t udw) @@ -73,7 +73,7 @@ neu_double_t neu_udworddec_toDouble(neu_udworddec_t udw) neu_word_t dec = 1; for (int m = 0; m < udw.decimal; m++) dec *= 10; - return (((neu_double_t) (udw.value % dec)) / dec + udw.value / dec); + return (((neu_double_t)(udw.value % dec)) / dec + udw.value / dec); } neu_double_t neu_qworddec_toDouble(neu_qworddec_t qw) @@ -81,7 +81,7 @@ neu_double_t neu_qworddec_toDouble(neu_qworddec_t qw) neu_word_t dec = 1; for (int m = 0; m < qw.decimal; m++) dec *= 10; - return (((neu_double_t) (qw.value % dec)) / dec + qw.value / dec); + return (((neu_double_t)(qw.value % dec)) / dec + qw.value / dec); } neu_double_t neu_uqworddec_toDouble(neu_uqworddec_t uqw) @@ -89,7 +89,7 @@ neu_double_t neu_uqworddec_toDouble(neu_uqworddec_t uqw) neu_word_t dec = 1; for (int m = 0; m < uqw.decimal; m++) dec *= 10; - return (((neu_double_t) (uqw.value % dec)) / dec + uqw.value / dec); + return (((neu_double_t)(uqw.value % dec)) / dec + uqw.value / dec); } /****************/ diff --git a/tests/data_val_test.cc b/tests/data_val_test.cc index e6f13b0a..e5868ef0 100644 --- a/tests/data_val_test.cc +++ b/tests/data_val_test.cc @@ -1,12 +1,12 @@ #include -#include "neu_types.h" #include "neu_data_expr.h" +#include "neu_types.h" TEST(DataValueTest, neu_dvalue_set_int8) { neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_INT8); - int rc = neu_dvalue_set_int8(val, 16); + int rc = neu_dvalue_set_int8(val, 16); EXPECT_EQ(0, rc); int8_t ret; rc = neu_dvalue_get_int8(val, &ret); @@ -17,8 +17,8 @@ TEST(DataValueTest, neu_dvalue_set_int8) TEST(DataValueTest, neu_dvalue_set_int64) { - neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_INT64); - int rc = neu_dvalue_set_int64(val, 100010111010); + neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_INT64); + int rc = neu_dvalue_set_int64(val, 100010111010); EXPECT_EQ(0, rc); int64_t ret; rc = neu_dvalue_get_int64(val, &ret); @@ -29,8 +29,8 @@ TEST(DataValueTest, neu_dvalue_set_int64) TEST(DataValueTest, neu_dvalue_set_double) { - neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_DOUBLE); - int rc = neu_dvalue_set_double(val, 100010111010.010603); + neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_DOUBLE); + int rc = neu_dvalue_set_double(val, 100010111010.010603); EXPECT_EQ(0, rc); double ret; rc = neu_dvalue_get_double(val, &ret); @@ -41,11 +41,11 @@ TEST(DataValueTest, neu_dvalue_set_double) TEST(DataValueTest, neu_dvalue_set_cstr) { - neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_CSTR); - int rc = neu_dvalue_set_cstr(val, (char*)"Hello, Neuron!"); + neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_CSTR); + int rc = neu_dvalue_set_cstr(val, (char *) "Hello, Neuron!"); EXPECT_EQ(0, rc); - char * ret = NULL; - rc = neu_dvalue_get_cstr(val, &ret); + char *ret = NULL; + rc = neu_dvalue_get_cstr(val, &ret); EXPECT_EQ(0, rc); EXPECT_STREQ("Hello, Neuron!", ret); neu_dvalue_free(val); @@ -53,12 +53,13 @@ TEST(DataValueTest, neu_dvalue_set_cstr) TEST(DataValueTest, neu_dvalue_set_array) { - int rc; - neu_data_val_t* val = neu_dvalue_array_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); - neu_fixed_array_t* array_set; + int rc; + neu_data_val_t *val = + neu_dvalue_array_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); + neu_fixed_array_t *array_set; array_set = neu_fixed_array_new(4, sizeof(int8_t)); - rc = neu_dvalue_set_array(val, array_set); - neu_fixed_array_t* array_get; + rc = neu_dvalue_set_array(val, array_set); + neu_fixed_array_t *array_get; rc = neu_dvalue_get_array(val, &array_get); // TODO: assert two array is equal @@ -69,12 +70,12 @@ TEST(DataValueTest, neu_dvalue_set_array) TEST(DataValueTest, neu_dvalue_set_vec) { - int rc; - neu_data_val_t* val = neu_dvalue_vec_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); - vector_t* vec_set; + int rc; + neu_data_val_t *val = neu_dvalue_vec_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); + vector_t * vec_set; vec_set = vector_new(4, sizeof(int8_t)); - rc = neu_dvalue_set_vec(val, vec_set); - vector_t* vec_get; + rc = neu_dvalue_set_vec(val, vec_set); + vector_t *vec_get; rc = neu_dvalue_get_vec(val, &vec_get); // TODO: assert two vector is equal @@ -85,7 +86,7 @@ TEST(DataValueTest, neu_dvalue_set_vec) TEST(DataValueTest, neu_dvalue_base_deser) { - int rc; + int rc; uint8_t *buf; neu_data_val_t *val = neu_dvalue_new(NEU_DTYPE_INT64); @@ -93,7 +94,7 @@ TEST(DataValueTest, neu_dvalue_base_deser) rc = neu_dvalue_serialize(val, &buf); EXPECT_EQ(0, rc); - neu_data_val_t* val1; + neu_data_val_t *val1; rc = neu_dvalue_desialize(buf, &val1); EXPECT_EQ(0, rc); int64_t i64; @@ -101,30 +102,33 @@ TEST(DataValueTest, neu_dvalue_base_deser) EXPECT_EQ(0, rc); EXPECT_EQ(100, i64); + free(buf); neu_dvalue_free(val); neu_dvalue_free(val1); } TEST(DataValueTest, neu_dvalue_array_deser) { - int rc; + int rc; uint8_t *buf; - neu_data_val_t* val = neu_dvalue_array_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); - neu_fixed_array_t* array_set; + neu_data_val_t *val = + neu_dvalue_array_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); + neu_fixed_array_t *array_set; array_set = neu_fixed_array_new(4, sizeof(int8_t)); - rc = neu_dvalue_set_array(val, array_set); - rc = neu_dvalue_serialize(val, &buf); + rc = neu_dvalue_set_array(val, array_set); + rc = neu_dvalue_serialize(val, &buf); EXPECT_EQ(0, rc); - neu_data_val_t* val1; + neu_data_val_t *val1; rc = neu_dvalue_desialize(buf, &val1); EXPECT_EQ(0, rc); - neu_fixed_array_t* array_get; + neu_fixed_array_t *array_get; rc = neu_dvalue_get_array(val, &array_get); EXPECT_EQ(0, rc); - // TODO: assert tow array is euqal + // TODO: assert two array is euqal + free(buf); neu_fixed_array_free(array_set); neu_dvalue_free(val); neu_dvalue_free(val1); @@ -132,24 +136,25 @@ TEST(DataValueTest, neu_dvalue_array_deser) TEST(DataValueTest, neu_dvalue_vec_deser) { - int rc; + int rc; uint8_t *buf; - neu_data_val_t* val = neu_dvalue_vec_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); - vector_t* vec_set; + neu_data_val_t *val = neu_dvalue_vec_new(NEU_DTYPE_INT8, 4, sizeof(int8_t)); + vector_t * vec_set; vec_set = vector_new(4, sizeof(int8_t)); - rc = neu_dvalue_set_vec(val, vec_set); - rc = neu_dvalue_serialize(val, &buf); + rc = neu_dvalue_set_vec(val, vec_set); + rc = neu_dvalue_serialize(val, &buf); EXPECT_EQ(0, rc); - neu_data_val_t* val1; + neu_data_val_t *val1; rc = neu_dvalue_desialize(buf, &val1); EXPECT_EQ(0, rc); - vector_t* vec_get; + vector_t *vec_get; rc = neu_dvalue_get_vec(val, &vec_get); EXPECT_EQ(0, rc); - // TODO: assert tow vector is euqal + // TODO: assert two vector is euqal + free(buf); vector_free(vec_set); neu_dvalue_free(val); neu_dvalue_free(val1);