I don't think integer overflow is an especially common source of buffer overflow. This isn't based on any hard data, but I'm pretty sure that the 2 main types of buffer overflow come from
1. not doing the bounds check.
2. not storing the the bounds with the array.