I am creating a simple 2D long long int array dynamically in C, but freeing the array gives SIGTRAP ? I am really confused.The same code for int works perfectly fine. Why using it with long long int gives SIGTRAP ?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int n;
scanf("%d",&n);
long long int** ptr=(long long int**)calloc(n,sizeof(long long int*));
for(i=0;i<n;i++)
ptr[i]=(long long int*)calloc(n,sizeof(long long int));
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
ptr[i-1][j-1]=i+j;
free(ptr[i]);
free(ptr);
return 0;
}