Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
-
21
Description
At the moment our QSslSocket's backends contain a lot of manual memory/resources management (it's not about new/delete, it's about platform/framework specific functions allocating some resource and the complement 'releasing' functions. This is very bug/error prone, every time somebody feels urge to introduce a new piece of code, they leak resources in a scenario like this:
if (somethingFailed) { qCWarning(lcSsl, "something failed"); return; // no q_XXX_free()... etc. }
Also, we can use RAII in private backend classes (instead of naked pointers) wherever possible.