Salve a tutti!
Ho un problema con questo codice:

Codice PHP:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 3
#define MAX 2048

int main(){
  
char ** arrey;
  
charstringa="prova";
  
int i;
  
arrey=(char**)malloc(N*sizeof(char*));
  
arrey[0]=(char*)malloc(sizeof(stringa));
  
strncpy(arrey[0],stringa,MAX);
  
arrey[1]=(char*)malloc(sizeof("pino"));
  
strncpy(arrey[1],"pino",MAX);
  
arrey[2]=(char*)malloc(sizeof("\n"));
  
strncpy(arrey[2],"\n",MAX);
  
arrey[3]=(char*)malloc(sizeof("fuori"));
  
strncpy(arrey[3],"fuori",MAX);
  
  for(
i=0;i<N;i++)
    
printf("%s\n",arrey[i]);

  
fflush(stdout);

  
arrey=realloc(arrey,sizeof(char*)+sizeof(arrey));

  
arrey[4]=(char*)malloc(sizeof("NUOVO"));
  
strncpy(arrey[4],"NUOVO",MAX);

  for(
i=0;i<(N+1);i++)
    
printf("%s\n",arrey[i]);

  return 
0;

in parole povere vorrei allocare dinamicamente un nuovo elemento nell'array "arrey" con la realloc, ma in esecuzione mi da un errore:

*** glibc detected *** realloc(): invalid next size: 0x0804a008 ***
Abort

consigli?