dwuwymiarowa tablica dynamiczna (realloc in c)

Próbuję załadować dwie podwójne liczby z wejścia do tablicy dwuwymiarowej dynamicznie przydzielane przez każde wejście użytkownika.

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char** argv) {

    int count;
    double number1, number2, **numbers;

    while (scanf("%lf,%lf", number1, number2) != EOF) {

        count++;
        numbers = (double**) realloc(numbers, count * 2 * sizeof (double));
        if (numbers == NULL) {
            exit(1);
        }
        numbers[count][0] = number1;
        numbers[count][1] = number2;
    }

    return 0;
}

Program kończy się niepowodzeniem za każdym razem, gdy próbuję zapisać wartość w tablicy (prawdopodobnie problem z pamięcią). Jest kompilowany bez problemów.

Czy ktoś może mi pokazać, jak prawidłowo ponownie przydzielić nową tablicę?

Dzięki za pomoc.

questionAnswers(3)

yourAnswerToTheQuestion