Why do i get address sanitizer:heapbuffer overflow error in my C program using Kadane'?

42 Views Asked by At
    int Kadane(int *a,int n)
    {
        int sum=a[0],max=a[0],i;
        for(int i=1;i<=n;i++)
        {
            sum=sum+a[i];
            if(sum>max)
                max=sum;
            if(a[i]>max)
                max=a[i];
        }
        return max;
    }

    int maxSubarraySumCircular(int* A, int ASize)
    {
        int i,k1,totalsum,k2,maxSum;
        totalsum=0;
        k1=Kadane(A,ASize);
        for(i=0;i<ASize;i++)
        {
            totalsum=totalsum+A[i];
            A[i]=-A[i];
        }
        k2=Kadane(A,ASize);
        maxSum=totalsum+k2;  
        return (maxSum>k1 && maxSum!=0) ? maxSum : k1;
    } 

When I run this code,it shows me a runtime error of address sanitizer: heap buffer overflow at address: What did I do there?

0

There are 0 best solutions below