From e045c34d42c6315df9c45a0b982ae016dce2806f Mon Sep 17 00:00:00 2001 From: Per Hedbor <ph@opera.com> Date: Mon, 28 Feb 2000 10:17:49 +0100 Subject: [PATCH] Fixed memoryleak (image_program was leaked on module exit) Rev: src/modules/SANE/sane.c:1.2 --- src/modules/SANE/sane.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/SANE/sane.c b/src/modules/SANE/sane.c index 96184f7222..490a6402ce 100644 --- a/src/modules/SANE/sane.c +++ b/src/modules/SANE/sane.c @@ -351,7 +351,7 @@ static void assert_image_program() push_text( "Image.Image" ); APPLY_MASTER( "resolv", 1 ); image_program = program_from_svalue( sp - 1 ); - pop_stack(); + sp--;/* Do not free image program.. */ } } @@ -363,6 +363,8 @@ static void f_scanner_simple_scan( INT32 args ) rgb_group *r; + assert_image_program(); + pop_n_elems( args ); if( sane_start( THIS->h ) ) error("Start failed\n"); if( sane_get_parameters( THIS->h, &p ) ) error("Get parameters failed\n"); @@ -525,6 +527,8 @@ void pike_module_exit() { if( sane_is_inited ) sane_exit(); + if( image_program ) + free_program( image_program ); } #else -- GitLab