I want to take a text from the standard input and store it into an array of strings. But I want the array of strings to be dynamic in memory. My code right now is the following:

```
char** readStandard()
{
  int size = 0;
  char** textMatrix = (char**)malloc(size);
  int index = 0;
  char* currentString = (char*)malloc(10); //10 is the maximum char per string
  while(fgets(currentString, 10, stdin) > 0)
    {
      size += 10;
      textMatrix = (char**)realloc(textMatrix, size);
      textMatrix[index] = currentString;
      index++;
    }
  return textMatrix;
}

```

The result I have while printing is the last string read in all positions of the array. 

Example
Reading:
 hello
 nice
 to
 meet
 you

Printing:
 you
 you
 you
 you
 you

Why? I've searched over the Internet. But I didn't find this kind of error.