Fix sqlops memory leak in sql_avp_load / sql_avp_delete / sql_avp_store (for 3.5 and master) #3576
+15
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This pull request fixes a memory leak in the sqlops module (function fixup_sql_avp) where a dynamically allocated string (sp->u.s.s) was not released in certain error paths or after normal fixup usage.
Details
When parsing script parameters for sql_avp_load() / sql_avp_delete() / sql_avp_store(), if the first parameter was a plain string (not prefixed by '$'), the code allocated memory for sp->u.s.s. However, it never got properly freed:
Repeated calls thus caused incremental memory leaks.
Solution
By doing so, all allocated memory is correctly released, eliminating the leak.
Compatibility
No breaking changes or behavioral differences other than fixing the memory usage issue. No impacts on SIP interoperability or script compatibility.