diff --git a/programs/fuzz/common.c b/programs/fuzz/common.c
index d7823eb..5e6c84c 100644
--- a/programs/fuzz/common.c
+++ b/programs/fuzz/common.c
@@ -26,10 +26,10 @@
     (void) buf;
 
     //pretends we wrote everything ok
-    if ( len > INT_MAX ) {
-        return ( -1 );
+    if( len > INT_MAX ) {
+        return( -1 );
     }
-    return ( (int) len );
+    return( (int) len );
 }
 
 int fuzz_recv( void *ctx, unsigned char *buf, size_t len )
@@ -37,20 +37,20 @@
     //reads from the buffer from fuzzer
     fuzzBufferOffset_t * biomemfuzz = (fuzzBufferOffset_t *) ctx;
 
-    if (biomemfuzz->Offset == biomemfuzz->Size) {
+    if(biomemfuzz->Offset == biomemfuzz->Size) {
         //EOF
-        return ( 0 );
+        return( 0 );
     }
-    if ( len > INT_MAX ) {
-        return ( -1 );
+    if( len > INT_MAX ) {
+        return( -1 );
     }
-    if ( len + biomemfuzz->Offset > biomemfuzz->Size ) {
+    if( len + biomemfuzz->Offset > biomemfuzz->Size ) {
         //do not overflow
         len = biomemfuzz->Size - biomemfuzz->Offset;
     }
     memcpy(buf, biomemfuzz->Data + biomemfuzz->Offset, len);
     biomemfuzz->Offset += len;
-    return ( (int) len );
+    return( (int) len );
 }
 
 int dummy_random( void *p_rng, unsigned char *output, size_t output_len )
