Memory leak from API calls (688181, ref: 688599) |
Ray Johnston <[email protected]> Thu, 18 May 2006 10:14:24 -0700
| Newsgroups | gmane.comp.printing.ghostscript.patches |
|---|---|
| Message-ID | <[email protected]> |
Reviewers,
I suspect that the memory leak reported in 688181 is due to the
missing gs_malloc_release call in gsapi_delete_instance.
Does anyone have any comments on the patch below?
If not, I'll commit it.
--- src/iapi.c (revision 6784)
+++ src/iapi.c (working copy)
@@ -99,19 +99,19 @@
{
gs_lib_ctx_t *ctx = (gs_lib_ctx_t *)lib;
if ((ctx != NULL)) {
+ gs_main_instance *minst = get_minst_from_memory(ctx->memory);
+
ctx->caller_handle = NULL;
ctx->stdin_fn = NULL;
ctx->stdout_fn = NULL;
ctx->stderr_fn = NULL;
ctx->poll_fn = NULL;
- get_minst_from_memory(ctx->memory)->display = NULL;
+ minst->display = NULL;
- /* NB: notice how no deletions are occuring, good bet this isn't thread ready
- */
+ /* Release the memory (frees up everything) */
+ gs_malloc_release(minst->heap);
--gsapi_instance_counter;
-
-
}
}
Regards,
Ray
_______________________________________________________________________