Hardcode numwords in vli_cpm_unsafe
diff --git a/tinycrypt/ecc.c b/tinycrypt/ecc.c
index 60b565e..c223ff5 100644
--- a/tinycrypt/ecc.c
+++ b/tinycrypt/ecc.c
@@ -162,12 +162,11 @@
 }
 
 cmpresult_t uECC_vli_cmp_unsafe(const uECC_word_t *left,
-				const uECC_word_t *right,
-				wordcount_t num_words)
+				const uECC_word_t *right)
 {
 	wordcount_t i;
 
-	for (i = num_words - 1; i >= 0; --i) {
+	for (i = NUM_ECC_WORDS - 1; i >= 0; --i) {
 		if (left[i] > right[i]) {
 			return 1;
 		} else if (left[i] < right[i]) {
@@ -427,7 +426,7 @@
 		     wordcount_t num_words)
 {
 	uECC_word_t carry = uECC_vli_add(result, left, right);
-	if (carry || uECC_vli_cmp_unsafe(mod, result, num_words) != 1) {
+	if (carry || uECC_vli_cmp_unsafe(mod, result) != 1) {
 	/* result > mod (result = mod + remainder), so subtract mod to get
 	 * remainder. */
 		uECC_vli_sub(result, result, mod, num_words);
@@ -551,7 +550,7 @@
 	uECC_vli_clear(u);
 	u[0] = 1;
 	uECC_vli_clear(v);
-	while ((cmpResult = uECC_vli_cmp_unsafe(a, b, num_words)) != 0) {
+	while ((cmpResult = uECC_vli_cmp_unsafe(a, b)) != 0) {
 		if (EVEN(a)) {
 			uECC_vli_rshift1(a, num_words);
       			vli_modInv_update(u, mod, num_words);
@@ -561,7 +560,7 @@
 		} else if (cmpResult > 0) {
 			uECC_vli_sub(a, a, b, num_words);
 			uECC_vli_rshift1(a, num_words);
-			if (uECC_vli_cmp_unsafe(u, v, num_words) < 0) {
+			if (uECC_vli_cmp_unsafe(u, v) < 0) {
         			uECC_vli_add(u, u, mod);
       			}
       			uECC_vli_sub(u, u, v, num_words);
@@ -569,7 +568,7 @@
     		} else {
       			uECC_vli_sub(b, b, a, num_words);
       			uECC_vli_rshift1(b, num_words);
-      			if (uECC_vli_cmp_unsafe(v, u, num_words) < 0) {
+      			if (uECC_vli_cmp_unsafe(v, u) < 0) {
         			uECC_vli_add(v, v, mod);
       			}
       			uECC_vli_sub(v, v, u, num_words);
@@ -742,7 +741,7 @@
 		while (carry < 0);
 	} else  {
 		while (carry || 
-		       uECC_vli_cmp_unsafe(curve_secp256r1.p, result, NUM_ECC_WORDS) != 1) {
+		       uECC_vli_cmp_unsafe(curve_secp256r1.p, result) != 1) {
 			carry -= uECC_vli_sub(result, result, curve_secp256r1.p, NUM_ECC_WORDS);
 		}
 	}
@@ -1058,8 +1057,8 @@
 	}
 
 	/* x and y must be smaller than p. */
-	if (uECC_vli_cmp_unsafe(curve->p, point, num_words) != 1 ||
-		uECC_vli_cmp_unsafe(curve->p, point + num_words, num_words) != 1) {
+	if (uECC_vli_cmp_unsafe(curve->p, point) != 1 ||
+		uECC_vli_cmp_unsafe(curve->p, point + num_words) != 1) {
 		return -2;
 	}
 
@@ -1084,7 +1083,7 @@
 	public_key + curve->num_bytes,
 	curve->num_bytes);
 
-	if (uECC_vli_cmp_unsafe(_public, curve->G, NUM_ECC_WORDS * 2) == 0) {
+	if (memcmp(_public, curve->G, NUM_ECC_WORDS * 2) == 0) {
 		return -4;
 	}
 
diff --git a/tinycrypt/ecc_dsa.c b/tinycrypt/ecc_dsa.c
index e302e04..7d40534 100644
--- a/tinycrypt/ecc_dsa.c
+++ b/tinycrypt/ecc_dsa.c
@@ -102,7 +102,7 @@
 	}
 
 	/* Reduce mod curve_n */
-	if (uECC_vli_cmp_unsafe(curve->n, native, num_n_words) != 1) {
+	if (uECC_vli_cmp_unsafe(curve->n, native) != 1) {
 		uECC_vli_sub(native, native, curve->n, num_n_words);
 	}
 }
@@ -236,8 +236,8 @@
 	}
 
 	/* r, s must be < n. */
-	if (uECC_vli_cmp_unsafe(curve->n, r, num_n_words) != 1 ||
-	    uECC_vli_cmp_unsafe(curve->n, s, num_n_words) != 1) {
+	if (uECC_vli_cmp_unsafe(curve->n, r) != 1 ||
+	    uECC_vli_cmp_unsafe(curve->n, s) != 1) {
 		return 0;
 	}
 
@@ -293,7 +293,7 @@
 	apply_z(rx, ry, z);
 
 	/* v = x1 (mod n) */
-	if (uECC_vli_cmp_unsafe(curve->n, rx, num_n_words) != 1) {
+	if (uECC_vli_cmp_unsafe(curve->n, rx) != 1) {
 		uECC_vli_sub(rx, rx, curve->n, num_n_words);
 	}