title: why is realloc() crashing after the 2nd loop?
body: <p>this is just a test code i've been using to figure out how the code works before impelmenting it into my program.  basically the same issue happens in both programs, im able to realloc 2 times then it crashes.  the final project is a 2d pointer, list length and size lengths.  ach of these has to be able to be resized to reasonable limits.</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  
  int main()
  {
      char** tasks;
      char buff[1089];
      int size, i, list_size=1;
      tasks = (char**)malloc(list_size * sizeof(char*));
      printf("input a string!\n");
      gets(buff);
      *tasks[0]=(char*)malloc((strlen(buff)+1));
      tasks[0]=buff;
      printf("%s\n", tasks[0]);
  
      for (i=1;i&lt;8 ;i++){
          list_size++;
          printf("%d\n", list_size);
          *tasks = realloc(*tasks, list_size* sizeof(char*));
          printf("input a string!\n");
          gets(buff);
          *tasks[i]=(char*)malloc((strlen(buff)+1));
          tasks[i]=buff;
          printf("%s\n", tasks[i]);
      }
  
      free(tasks);
      return 0;
  }
  </code></pre>
  
  <p>what am i messing up with here?</p>