diff --git a/library/bignum.c b/library/bignum.c
index 2e5ad96..1a762a2 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -343,7 +343,7 @@
  */
 size_t mbedtls_mpi_bitlen( const mbedtls_mpi *X )
 {
-    return mbedtls_mpi_core_bitlen( X->p, X->n );
+    return( mbedtls_mpi_core_bitlen( X->p, X->n ) );
 }
 
 /*
diff --git a/library/bignum_core.c b/library/bignum_core.c
index bb266a6..9cc05b9 100644
--- a/library/bignum_core.c
+++ b/library/bignum_core.c
@@ -50,7 +50,7 @@
         mask >>= 1;
     }
 
-    return j;
+    return( j );
 }
 
 size_t mbedtls_mpi_core_bitlen( const mbedtls_mpi_uint *X, size_t nx )
@@ -77,7 +77,7 @@
     unsigned char *x_ptr;
     mbedtls_mpi_uint tmp = 0;
 
-    for( i = 0, x_ptr = (unsigned char*) &x; i < ciL; i++, x_ptr++ )
+    for( i = 0, x_ptr = (unsigned char *) &x; i < ciL; i++, x_ptr++ )
     {
         tmp <<= CHAR_BIT;
         tmp |= (mbedtls_mpi_uint) *x_ptr;
diff --git a/library/bignum_mod.h b/library/bignum_mod.h
index 37aa946..ce871a9 100644
--- a/library/bignum_mod.h
+++ b/library/bignum_mod.h
@@ -49,8 +49,8 @@
     mbedtls_mpi_uint *p;
 } mbedtls_mpi_mod_residue;
 
-typedef void* mbedtls_mpi_mont_struct;
-typedef void* mbedtls_mpi_opt_red_struct;
+typedef void *mbedtls_mpi_mont_struct;
+typedef void *mbedtls_mpi_opt_red_struct;
 
 typedef struct {
     mbedtls_mpi_uint *p;
diff --git a/library/bignum_mod_raw.c b/library/bignum_mod_raw.c
index d3cd770..4d5fe81 100644
--- a/library/bignum_mod_raw.c
+++ b/library/bignum_mod_raw.c
@@ -82,9 +82,9 @@
     switch( m->ext_rep )
     {
         case MBEDTLS_MPI_MOD_EXT_REP_LE:
-            return mbedtls_mpi_core_write_le( X, m->n, buf, buflen );
+            return( mbedtls_mpi_core_write_le( X, m->n, buf, buflen ) );
         case MBEDTLS_MPI_MOD_EXT_REP_BE:
-            return mbedtls_mpi_core_write_be( X, m->n, buf, buflen );
+            return( mbedtls_mpi_core_write_be( X, m->n, buf, buflen ) );
         default:
             return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA );
     }
