diff --git a/src/c_gen.rs b/src/c_gen.rs
index 3ee1259..e13a4d3 100644
--- a/src/c_gen.rs
+++ b/src/c_gen.rs
@@ -162,15 +162,18 @@ pub fn generate_main(type_dict: &mut impl TypeDict, path: Vec<MorphismInstance<L
 
     println!(r#"
 int main() {{
-uint8_t bufA[1024];
-uint8_t bufB[1024];
+uint8_t bufA[128];
+uint8_t bufB[128];
+
+memset(bufA, 0, sizeof(bufA));
+memset(bufB, 0, sizeof(bufB));
 
 char in_str[] = "read :: {} \n";
 char out_str[]= "write:: {} \n";
 write(2, in_str, strlen(in_str));
 write(2, out_str, strlen(out_str));
 
-int l = read(0, bufA, 1024);
+int l = read(0, bufA, sizeof(bufA));
 fprintf(stderr, "read  %d bytes\n", l);
 
         "#,
@@ -221,7 +224,7 @@ printf("%s\n", {});"#, out_buf);
         println!(r#"
 write(1, {}, {});"#,
             out_buf,
-            1024
+            "sizeof(bufA)"
         );
     }