diff --git a/poc/vuln-1.poc b/poc/vuln-1.poc
index 4a6d3c19f2569e907b9a28bea0f1a28e71c54655..418417116c46eb69afb67ebe3b99f62494e9feb4 100644
--- a/poc/vuln-1.poc
+++ b/poc/vuln-1.poc
@@ -1,2 +1,674 @@
 push 10
-store aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
\ No newline at end of file
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
+push 10
diff --git a/src/vuln-1/dc.c b/src/vuln-1/dc.c
index 9ea91618000ff82e93597bc0eb1d3bf7cd77aa43..5f766a1a34875b628fc894e6dc10d8093f11f2bc 100644
--- a/src/vuln-1/dc.c
+++ b/src/vuln-1/dc.c
@@ -547,11 +547,12 @@ static int execute(void){
       debug_printf("Expected 1 arguments to %s instruction but instead found %u\n",INSTRUCTION_PUSH,numToks-1);
       return -1;
     }
-
+    /*
     if (stack_full()){
       debug_printf("Push to full stack\n");
       return -1;
     }
+    */
     value_t value;
     if (sscanf(toks[1],"%d",&value) != 1){
       debug_printf("Non-numeric argument to %s instruction: %s\n",INSTRUCTION_PUSH,toks[1]);
@@ -619,6 +620,13 @@ static int run(FILE *f){
         return -1;
       }
     }
+    if (inst[MAX_LINE_LENGTH] != '\0'){
+      if (!(inst[MAX_LINE_LENGTH] == '\n' && inst[MAX_LINE_LENGTH+1] == '\0')){
+        fprintf(stderr,"Line %d exceeds maximum length (%d)\n",instructionCount+1,MAX_LINE_LENGTH);
+        debug_printf("(Expected at array index %d to find NUL but found '%c' (%d))\n",MAX_LINE_LENGTH,inst[MAX_LINE_LENGTH],inst[MAX_LINE_LENGTH]);
+        return -1;
+      }
+    }else{
       /* inst[MAX_LINE_LENGTH] == '\0', so
          strlen is guaranteed to be <= MAX_LINE_LENGTH
          Check if it has a newline and add it if it needs it */
@@ -629,6 +637,7 @@ static int run(FILE *f){
           inst[len+1] = '\0';
         }
       }
+    }
     instructionCount++;
     int r = execute();
     if (r != 0){