Example

int main(int argc, char* argv[])
{
long *Array = (long*) malloc(N * sizeof(long*));

long *Array = (long*) realloc(Array, N);

return 0;
}

Solution
Use the sizeof() method to allocate the correct number of bytes.

int main(int argc, char* argv[])
{
long *Array = (long*) malloc(N * sizeof(long));

long *Array = (long*) realloc(Array, N * sizeof(long));

return 0;
}