Help: Interrupts and arrays/pointers

The buffer should be int not float.

You are not changing the address pointer so no need to make that a volatile.

Change this to

float* buff;
int buff[buufSize];

and drop the line with the malloc completely.

Mark