introduce RSSIZE_MAX to set maximum of ssize_t
diff --git a/skeletons/asn_system.h b/skeletons/asn_system.h
index 9313de4..2febb71 100644
--- a/skeletons/asn_system.h
+++ b/skeletons/asn_system.h
@@ -145,5 +145,8 @@
 #ifndef RSIZE_MAX   /* C11, Annex K */
 #define RSIZE_MAX   (SIZE_MAX >> 1)
 #endif
+#ifndef RSSIZE_MAX   /* Halve signed size even further than unsigned */
+#define RSSIZE_MAX   ((ssize_t)(RSIZE_MAX >> 1))
+#endif
 
 #endif	/* ASN_SYSTEM_H */
diff --git a/skeletons/ber_tlv_length.c b/skeletons/ber_tlv_length.c
index 02a120a..4e5bfa6 100644
--- a/skeletons/ber_tlv_length.c
+++ b/skeletons/ber_tlv_length.c
@@ -50,7 +50,7 @@
 		}
 
 		if(oct == 0) {
-			if(len < 0 || len > RSIZE_MAX) {
+			if(len < 0 || len > RSSIZE_MAX) {
 				/* Length value out of sane range. */
 				return -1;
 			}