Diff between a8f0a73b48f19690e00c920774690e8d93c978bf and d76690df91d6dd7d82590b55d740e2afe4dbcde1

Changed Files

File Additions Deletions Status
unit/test-gobex-packet.c +17 -0 modified

Full Patch

diff --git a/unit/test-gobex-packet.c b/unit/test-gobex-packet.c
index ba6abbc..131d886 100644
--- a/unit/test-gobex-packet.c
+++ b/unit/test-gobex-packet.c
@@ -29,6 +29,8 @@ static uint8_t pkt_put_action[] = { G_OBEX_OP_PUT, 0x00, 0x05,
 					G_OBEX_HDR_ID_ACTION, 0xab };
 static uint8_t pkt_put[] = { G_OBEX_OP_PUT, 0x00, 0x03 };
 
+static uint8_t pkt_nval_len[] = { G_OBEX_OP_PUT, 0xab, 0xcd, 0x12 };
+
 static void test_pkt(void)
 {
 	GObexPacket *pkt;
@@ -74,6 +76,19 @@ static void test_decode_pkt_header(void)
 	g_obex_packet_free(pkt);
 }
 
+static void test_decode_nval(void)
+{
+	GObexPacket *pkt;
+	GError *err = NULL;
+
+	pkt = g_obex_packet_decode(pkt_nval_len, sizeof(pkt_nval_len), 0,
+						G_OBEX_DATA_REF, &err);
+	g_assert_error(err, G_OBEX_ERROR, G_OBEX_ERROR_PARSE_ERROR);
+	g_assert(pkt == NULL);
+
+	g_error_free(err);
+}
+
 static void test_decode_encode(void)
 {
 	GObexPacket *pkt;
@@ -105,6 +120,8 @@ int main(int argc, char *argv[])
 	g_test_add_func("/gobex/test_decode_pkt_header",
 						test_decode_pkt_header);
 
+	g_test_add_func("/gobex/test_decode_nval", test_decode_nval);
+
 	g_test_add_func("/gobex/test_encode_pkt", test_decode_encode);
 
 	g_test_run();