please tell me the sol to this Question
Code:
int **make_matrix(int *m,int *n,int mlen,int nlen)
{
int j,k;
int **matrix=malloc(mlen*nlen*sizeof(int));

for(k=0;k<nlen;k++)
for(j=0;j<mlen;j++)
matrix[k][j]=m[k]*n[j];

return matrix;
}
function make_matrix defined above contains a serious error.which of the following describes the error.

1.C does not allow creation of multidimwntiona arrays.
2.Tha call to malloc() allocates insufficient space to accommodate the correct number of elements.
3.Inside make_matrix dereferences random memory address,resulting in undefined behaviour.
4.C uses row-major indexing rather than column -major indexing.The logic used to compute indices is therefore incorrect.
5.internal algorithms of make_matrix() consistantly result in memory leak.