Fix several MSVC warnings.

MSVC reports lots of:
warning C4090: 'function' : different 'const' qualifiers

Change-Id: If8184538c44e657f6234252d0147396d1a18b36c
diff --git a/crypto/ec/ec.c b/crypto/ec/ec.c
index cfca774..c8f8dbc 100644
--- a/crypto/ec/ec.c
+++ b/crypto/ec/ec.c
@@ -310,7 +310,7 @@
 
 err:
   BN_MONT_CTX_free(mont_ctx);
-  OPENSSL_free(built_in_curve_scalar_field_monts);
+  OPENSSL_free((BN_MONT_CTX**) built_in_curve_scalar_field_monts);
   built_in_curve_scalar_field_monts = NULL;
 
 out:
diff --git a/crypto/ec/p256-x86_64.c b/crypto/ec/p256-x86_64.c
index 7a56ece..09816ad 100644
--- a/crypto/ec/p256-x86_64.c
+++ b/crypto/ec/p256-x86_64.c
@@ -437,7 +437,7 @@
 err:
   OPENSSL_free(table_storage);
   OPENSSL_free(p_str);
-  OPENSSL_free(scalars);
+  OPENSSL_free((BIGNUM**) scalars);
 }
 
 /* Coordinates of G, for which we have precomputed tables */
@@ -588,14 +588,14 @@
 
     new_points = OPENSSL_malloc((num + 1) * sizeof(EC_POINT *));
     if (new_points == NULL) {
-      OPENSSL_free(new_scalars);
+      OPENSSL_free((BIGNUM**) new_scalars);
       OPENSSL_PUT_ERROR(EC, ERR_R_MALLOC_FAILURE);
       return 0;
     }
 
-    memcpy(new_scalars, scalars, num * sizeof(BIGNUM *));
+    memcpy((BIGNUM**) new_scalars, scalars, num * sizeof(BIGNUM *));
     new_scalars[num] = scalar;
-    memcpy(new_points, points, num * sizeof(EC_POINT *));
+    memcpy((EC_POINT**) new_points, points, num * sizeof(EC_POINT *));
     new_points[num] = generator;
 
     scalars = new_scalars;
@@ -617,8 +617,8 @@
   }
 
   if (no_precomp_for_generator) {
-    OPENSSL_free(points);
-    OPENSSL_free(scalars);
+    OPENSSL_free((BIGNUM **) scalars);
+    OPENSSL_free((EC_POINT **) points);
   }
 
   memcpy(r->X.d, p.p.X, sizeof(p.p.X));