unsigned

diff --git a/libasn1parser/asn1p_constr.c b/libasn1parser/asn1p_constr.c
index 26f920f..7a38f3c 100644
--- a/libasn1parser/asn1p_constr.c
+++ b/libasn1parser/asn1p_constr.c
@@ -55,7 +55,7 @@
 
 	clone = asn1p_constraint_new(src->_lineno);
 	if(clone) {
-		int i;
+		unsigned int i;
 
 		clone->type = src->type;
 		clone->presence = src->presence;
@@ -92,7 +92,7 @@
 	 * Make sure there's enough space to add an element.
 	 */
 	if(into->el_count == into->el_size) {
-		int newsize = into->el_size?into->el_size<<2:4;
+		unsigned int newsize = into->el_size?into->el_size<<2:4;
 		void *p;
 		p = realloc(into->elements,
 			newsize * sizeof(into->elements[0]));
diff --git a/libasn1parser/asn1p_constr.h b/libasn1parser/asn1p_constr.h
index c83d58b..7c425b4 100644
--- a/libasn1parser/asn1p_constr.h
+++ b/libasn1parser/asn1p_constr.h
@@ -53,8 +53,8 @@
 	 * A collection of constraint elements.
 	 */
 	struct asn1p_constraint_s **elements;
-	int el_count;	/* Number of meaningful elements */
-	int el_size;	/* Size of the allocated (elements) */
+	unsigned int el_count;	/* Number of meaningful elements */
+	unsigned int el_size;	/* Size of the allocated (elements) */
 
 	int _lineno;	/* Position in a source file */
 	int _compile_mark;	/* Marker used by the compiler */