Back in the old days, like say 10 years ago and before, yes, C++ code was riddled with manual memory management bugs that caused all sorts of issues just like this. But with current C++ standards, manual memory management is minimized, and in some cases totally eliminated.
Obviously whoever maintained the driver code uses techniques that even today's C++ programmers would frown upon.
If it is a C# programmer being forced to use C++, it's time to get nervous, not because C++ is inherently dangerous, it is because the C# programmer isn't aware or was taught about the new safety features introduced to C++ over the past 10 years or so, and the C# programmer is relying on dusty old C++ books and teaching material to guide them.