libipt: use pt_config_from_user() in pt_pkt_decoder_init()

The packet decoder still checks the size of the configuration and fails
if it does not match exactly.  Fix it.

Change-Id: Ibbd875dfc4b4ceddab01a4962d016c308527a0c8
Signed-off-by: Markus Metzger <markus.t.metzger@intel.com>
diff --git a/libipt/src/pt_packet_decoder.c b/libipt/src/pt_packet_decoder.c
index ba0129f..4a1a2cd 100644
--- a/libipt/src/pt_packet_decoder.c
+++ b/libipt/src/pt_packet_decoder.c
@@ -30,6 +30,7 @@
 #include "pt_decoder_function.h"
 #include "pt_packet.h"
 #include "pt_sync.h"
+#include "pt_config.h"
 
 #include <string.h>
 
@@ -37,22 +38,16 @@
 int pt_pkt_decoder_init(struct pt_packet_decoder *decoder,
 			const struct pt_config *config)
 {
-	const uint8_t *begin, *end;
+	int errcode;
 
 	if (!decoder || !config)
 		return -pte_invalid;
 
-	if (config->size != sizeof(*config))
-		return -pte_bad_config;
-
-	begin = config->begin;
-	end = config->end;
-
-	if (!begin || end < begin)
-		return -pte_bad_config;
-
 	memset(decoder, 0, sizeof(*decoder));
-	decoder->config = *config;
+
+	errcode = pt_config_from_user(&decoder->config, config);
+	if (errcode < 0)
+		return errcode;
 
 	return 0;
 }