early detection

diff --git a/skeletons/ber_tlv_length.c b/skeletons/ber_tlv_length.c
index 5edd352..b87e75e 100644
--- a/skeletons/ber_tlv_length.c
+++ b/skeletons/ber_tlv_length.c
@@ -51,13 +51,14 @@
 		}
 
 		if(oct == 0) {
-			ber_tlv_len_t lenplusepsilon = len + 1024;
+			ber_tlv_len_t lenplusepsilon = (size_t)len + 1024;
 			/*
 			 * Here length may be very close or equal to 2G.
 			 * However, the arithmetics used in some decoders
 			 * may add some (small) quantities to the length,
 			 * to check the resulting value against some limits.
-			 * This may result in integer wrap-around.
+			 * This may result in integer wrap-around, which
+			 * we try to avoid by checking it earlier here.
 			 */
 			if(lenplusepsilon < 0) {
 				/* Too large length value */