all given test cases pass ,but showing heap overflow while submitting can anyone explain ?

int* twoSum(int* nums, int numsSize, int target, int* returnSize)
{
int new=(int)malloc(sizeof(int)*2);
int i=0;
int flag;

    while(i<numsSize)
    {
        
        if(nums[i]+nums[i+1]==target)
        {
            new[0]=i;
            new[1]=i+1;
            flag=1;
            break;
        }
        
        if(flag==1)
            break;
        i++;
    }
    *returnSize=2;
    return new;
    free(new);
}
Comments (0)