Say I have C++ project which has been working for years well. Say also this project might (need to verify) contain undefined behaviour. So maybe compiler was kind to us and doesn't make program misbehave even though there is UB. Now imagine I want to add some features to the project. e.g. add Crypto ++ library to it. But the actual code I add to it say from Crypto++ is legitimate. Here I read:
Your code, if part of a larger project, could conditionally call some 3rd party code (say, a shell extension that previews an image type in a file open dialog) that changes the state of some flags (floating point precision, locale, integer overflow flags, division by zero behavior, etc). Your code, which worked fine before, now exhibits completely different behavior.
But I can't gauge exactly what author means. Does he say even by adding say Crypto ++ library to my project, despite the code from Crypto++ I add is legitimate, my project can suddenly start working incorrectly?
Is this realistic? Any links which can confirm this?
It is hard for me to explain to people involved that just adding library might increase risks. Maybe someone can help me formulate how to explain this?