Diff between fa69d5108450b8e4d9f85015466f31b9d6794f0b and 0be5246170f76a476101aa2dd7e748937363a1dc

Changed Files

File Additions Deletions Status
unit/test-avctp.c +7 -2 modified
unit/test-avdtp.c +9 -4 modified
unit/test-avrcp.c +10 -5 modified
unit/test-gatt.c +9 -2 modified
unit/test-hfp.c +9 -4 modified
unit/test-hog.c +5 -5 modified
unit/test-sdp.c +3 -3 modified

Full Patch

diff --git a/unit/test-avctp.c b/unit/test-avctp.c
index 60fd6ad..c92618b 100644
--- a/unit/test-avctp.c
+++ b/unit/test-avctp.c
@@ -43,7 +43,7 @@
 
 struct test_pdu {
 	bool valid;
-	const uint8_t *data;
+	uint8_t *data;
 	size_t size;
 };
 
@@ -66,7 +66,7 @@ struct context {
 #define raw_pdu(args...)					\
 	{							\
 		.valid = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -84,6 +84,11 @@ struct context {
 static void test_free(gconstpointer user_data)
 {
 	const struct test_data *data = user_data;
+	struct test_pdu *pdu;
+	int i;
+
+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
+		g_free(pdu->data);
 
 	g_free(data->test_name);
 	g_free(data->pdu_list);
diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c
index 176852a..13c03d0 100644
--- a/unit/test-avdtp.c
+++ b/unit/test-avdtp.c
@@ -47,7 +47,7 @@
 struct test_pdu {
 	bool valid;
 	bool fragmented;
-	const uint8_t *data;
+	uint8_t *data;
 	size_t size;
 };
 
@@ -61,7 +61,7 @@ struct test_data {
 #define raw_pdu(args...) \
 	{							\
 		.valid = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -69,7 +69,7 @@ struct test_data {
 	{							\
 		.valid = true,					\
 		.fragmented = true,				\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -81,7 +81,7 @@ struct test_data {
 		static struct test_data data;				\
 		data.test_name = g_strdup(name);			\
 		data.pdu_list = g_memdup(pdus, sizeof(pdus));		\
-		tester_add(name, &data, NULL, function, NULL);		\
+		tester_add(name, &data, NULL, function, NULL);	\
 	} while (0)
 
 struct context {
@@ -102,6 +102,11 @@ struct context {
 static void test_free(gconstpointer user_data)
 {
 	const struct test_data *data = user_data;
+	struct test_pdu *pdu;
+	int i;
+
+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
+		g_free(pdu->data);
 
 	g_free(data->test_name);
 	g_free(data->pdu_list);
diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c
index 9ffd44c..adf25f0 100644
--- a/unit/test-avrcp.c
+++ b/unit/test-avrcp.c
@@ -49,7 +49,7 @@ struct test_pdu {
 	bool fragmented;
 	bool continuing;
 	bool browse;
-	const uint8_t *data;
+	uint8_t *data;
 	size_t size;
 };
 
@@ -74,7 +74,7 @@ struct context {
 #define raw_pdu(args...)					\
 	{							\
 		.valid = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -82,7 +82,7 @@ struct context {
 	{							\
 		.valid = true,					\
 		.browse = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -90,7 +90,7 @@ struct context {
 	{							\
 		.valid = true,					\
 		.fragmented = true,				\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -98,7 +98,7 @@ struct context {
 	{							\
 		.valid = true,					\
 		.continuing = true,				\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -116,6 +116,11 @@ struct context {
 static void test_free(gconstpointer user_data)
 {
 	const struct test_data *data = user_data;
+	struct test_pdu *pdu;
+	int i;
+
+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
+		g_free(pdu->data);
 
 	g_free(data->test_name);
 	g_free(data->pdu_list);
diff --git a/unit/test-gatt.c b/unit/test-gatt.c
index d8d0073..e35271b 100644
--- a/unit/test-gatt.c
+++ b/unit/test-gatt.c
@@ -48,7 +48,7 @@
 
 struct test_pdu {
 	bool valid;
-	const uint8_t *data;
+	uint8_t *data;
 	size_t size;
 };
 
@@ -86,7 +86,7 @@ struct context {
 #define raw_pdu(args...)					\
 	{							\
 		.valid = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -306,6 +306,11 @@ static bt_uuid_t uuid_char_128 = {
 static void test_free(gconstpointer user_data)
 {
 	const struct test_data *data = user_data;
+	struct test_pdu *pdu;
+	int i;
+
+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
+		g_free(pdu->data);
 
 	g_free(data->test_name);
 	g_free(data->pdu_list);
@@ -1911,6 +1916,8 @@ static void test_server(gconstpointer data)
 	g_assert_cmpint(len, ==, pdu.size);
 
 	tester_monitor('<', 0x0004, 0x0000, pdu.data, len);
+
+	g_free(pdu.data);
 }
 
 static void test_search_primary(gconstpointer data)
diff --git a/unit/test-hfp.c b/unit/test-hfp.c
index f2b9622..890eee6 100644
--- a/unit/test-hfp.c
+++ b/unit/test-hfp.c
@@ -43,7 +43,7 @@ struct context {
 
 struct test_pdu {
 	bool valid;
-	const uint8_t *data;
+	uint8_t *data;
 	size_t size;
 	enum hfp_gw_cmd_type type;
 	bool fragmented;
@@ -63,7 +63,7 @@ struct test_data {
 #define raw_pdu(args...)					\
 	{							\
 		.valid = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 	}
 
@@ -75,7 +75,7 @@ struct test_data {
 #define type_pdu(cmd_type, args...)				\
 	{							\
 		.valid = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 		.type = cmd_type,				\
 	}
@@ -83,7 +83,7 @@ struct test_data {
 #define frg_pdu(args...)					\
 	{							\
 		.valid = true,					\
-		.data = data(args),				\
+		.data = g_memdup(data(args), sizeof(data(args))), \
 		.size = sizeof(data(args)),			\
 		.fragmented = true,				\
 	}
@@ -119,6 +119,11 @@ struct test_data {
 static void test_free(gconstpointer user_data)
 {
 	const struct test_data *data = user_data;
+	struct test_pdu *pdu;
+	int i;
+
+	for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++)
+		g_free(pdu->data);
 
 	g_free(data->test_name);
 	g_free(data->pdu_list);
diff --git a/unit/test-hog.c b/unit/test-hog.c
index 37d3abe..e257fbd 100644
--- a/unit/test-hog.c
+++ b/unit/test-hog.c
@@ -69,11 +69,11 @@ struct context {
 
 #define data(args...) ((const unsigned char[]) { args })
 
-#define raw_pdu(args...)    \
-{      \
-	.valid = true,		\
-	.data = data(args), \
-	.size = sizeof(data(args)),\
+#define raw_pdu(args...)					\
+{								\
+	.valid = true,						\
+	.data = g_memdup(data(args), sizeof(data(args))),	\
+	.size = sizeof(data(args)),				\
 }
 
 #define false_pdu()	\
diff --git a/unit/test-sdp.c b/unit/test-sdp.c
index 66da038..03501d0 100644
--- a/unit/test-sdp.c
+++ b/unit/test-sdp.c
@@ -60,14 +60,14 @@ struct test_data {
 #define raw_pdu(args...) \
 	{							\
 		.valid = true,					\
-		.raw_data = raw_data(args),			\
+		.raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
 		.raw_size = sizeof(raw_data(args)),		\
 	}
 
 #define raw_pdu_cont(cont, args...) \
 	{							\
 		.valid = true,					\
-		.raw_data = raw_data(args),			\
+		.raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \
 		.raw_size = sizeof(raw_data(args)),		\
 		.cont_len = cont,				\
 	}
@@ -105,7 +105,7 @@ struct test_data_de {
 #define define_test_de_attr(name, input, exp) \
 	do {								\
 		static struct test_data_de data;			\
-		data.input_data = input;				\
+		data.input_data = g_memdup(input, sizeof(input));	\
 		data.input_size = sizeof(input);			\
 		data.expected = exp;					\
 		tester_add("/sdp/DE/ATTR/" name, &data,	NULL,		\