Group memory allocations earlier

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
diff --git a/library/ecp_curves.c b/library/ecp_curves.c
index 6c588f7..2bbec41 100644
--- a/library/ecp_curves.c
+++ b/library/ecp_curves.c
@@ -5508,6 +5508,13 @@
         return MBEDTLS_ERR_ECP_ALLOC_FAILED;
     }
 
+    mbedtls_mpi_uint *Q = mbedtls_calloc(Q_limbs, ciL);
+
+    if (Q == NULL) {
+        ret =  MBEDTLS_ERR_ECP_ALLOC_FAILED;
+        goto cleanup;
+    }
+
     /* M = A1 */
     memset(M, 0, (M_limbs * ciL));
 
@@ -5524,13 +5531,6 @@
     (void) mbedtls_mpi_core_add(X, X, M, M_limbs);
 
     /* Q = B1, N += B1 */
-    mbedtls_mpi_uint *Q = mbedtls_calloc(Q_limbs, ciL);
-
-    if (Q == NULL) {
-        ret =  MBEDTLS_ERR_ECP_ALLOC_FAILED;
-        goto cleanup;
-    }
-
     memcpy(Q, M, (Q_limbs * ciL));
 
     mbedtls_mpi_core_shift_r(Q, Q_limbs, 224);