Array question

I have been pulling my hair out on this one, probably an easy one:

void processSample(float* in) noexcept


        const float input = *in;

        data[currentPos] = input;

        outPos = currentPos - delay;

        //if (outPos < 0) outPos += dataLength;

        *in = data[outPos];        


        if (currentPos >= dataLength) currentPos -= dataLength;



When I remove the //, or change it in to if (outPos < 0) outPos = 0;, it crashes AUValTool and I do not understand why. Anyone any hint for me?

Okay, seems that dataLenght is not initialised with the correct value. After using outPos = 16000 + currentPos - delay, it works.