Well... Actually the command
int data[2] = {0};
initializes the whole array, not just the first element.
But as you correctly pointed out, it creates an array of two elements, which is the problem...
Thanks for your fast answer, I didn't see this one by myself!