Files = 0; while(1) { Files++; FileList = realloc(DirList,Files*sizeof(char*)); FileList[Files-1] = malloc((strlen(buf)+strlen(temp))*sizeof(char)); }