title: what could be an input that lets you call foo with an array argument t containing more than 15 characters?
body: <p>I would like to find an input or examples of it that still allow us to call the function foo and understand the characteristics of this input</p>
  
  <pre><code>    void copy(char b[], int l){
      // b is a string and l is its length
      char t[16] ; // 16 bytes
      int ok ; // 4 bytes
      if (l &gt; 15)
         ok = 0 ;
      else
         ok = 1 ;
      strcpy(t, b) ; // copy b into t
      if (ok==0) { // a buffer overflow did occur in t
          printf("a buffer overflow occured !");
      exit(0);
      } else // t contains no more than 15 characters (no overflow)
         foo(t);
      }
      int main() {
        char buf[24];
        scanf("%s", buf) ;
        copy(buf, strlen(buf)) ; 
        /* ... */
       return 0;
       }
  </code></pre>