r17198 - gnucash/branches/gda-dev2/src - Fix some memory leaks
Phil Longstaff
plongstaff at cvs.gnucash.org
Sat Jun 7 17:54:29 EDT 2008
Author: plongstaff
Date: 2008-06-07 17:54:29 -0400 (Sat, 07 Jun 2008)
New Revision: 17198
Trac: http://svn.gnucash.org/trac/changeset/17198
Modified:
gnucash/branches/gda-dev2/src/backend/dbi/gnc-backend-dbi.c
gnucash/branches/gda-dev2/src/backend/gda/gnc-backend-gda.c
gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.c
gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.h
gnucash/branches/gda-dev2/src/backend/sql/gnc-slots-sql.c
gnucash/branches/gda-dev2/src/backend/sql/gnc-transaction-sql.c
gnucash/branches/gda-dev2/src/business/business-core/sql/gnc-tax-table-sql.c
gnucash/branches/gda-dev2/src/valgrind-gdk.supp
gnucash/branches/gda-dev2/src/valgrind-glib.supp
gnucash/branches/gda-dev2/src/valgrind-gnucash.supp
gnucash/branches/gda-dev2/src/valgrind-libguile.supp
Log:
Fix some memory leaks
Modified: gnucash/branches/gda-dev2/src/backend/dbi/gnc-backend-dbi.c
===================================================================
--- gnucash/branches/gda-dev2/src/backend/dbi/gnc-backend-dbi.c 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/backend/dbi/gnc-backend-dbi.c 2008-06-07 21:54:29 UTC (rev 17198)
@@ -356,13 +356,21 @@
GncSqlRow base;
dbi_result result;
+ GList* gvalue_list;
} GncDbiSqlRow;
static void
row_dispose( GncSqlRow* row )
{
GncDbiSqlRow* dbi_row = (GncDbiSqlRow*)row;
+ GList* node;
+ if( dbi_row->gvalue_list != NULL ) {
+ for( node = dbi_row->gvalue_list; node != NULL; node = node->next ) {
+ g_free( node->data );
+ }
+ g_list_free( dbi_row->gvalue_list );
+ }
g_free( dbi_row );
}
@@ -394,6 +402,7 @@
return NULL;
}
+ dbi_row->gvalue_list = g_list_prepend( dbi_row->gvalue_list, value );
return value;
}
@@ -417,6 +426,7 @@
dbi_result result;
gint num_rows;
gint cur_row;
+ GncSqlRow* row;
} GncDbiSqlResult;
static void
@@ -424,7 +434,12 @@
{
GncDbiSqlResult* dbi_result = (GncDbiSqlResult*)result;
- dbi_result_free( dbi_result->result );
+ if( dbi_result->row != NULL ) {
+ gnc_sql_row_dispose( dbi_result->row );
+ }
+ if( dbi_result->result != NULL ) {
+ dbi_result_free( dbi_result->result );
+ }
g_free( result );
}
@@ -441,10 +456,15 @@
{
GncDbiSqlResult* dbi_result = (GncDbiSqlResult*)result;
+ if( dbi_result->row != NULL ) {
+ gnc_sql_row_dispose( dbi_result->row );
+ dbi_result->row = NULL;
+ }
if( dbi_result->num_rows > 0 ) {
dbi_result_first_row( dbi_result->result );
dbi_result->cur_row = 1;
- return create_dbi_row( dbi_result->result );
+ dbi_result->row = create_dbi_row( dbi_result->result );
+ return dbi_result->row;
} else {
return NULL;
}
@@ -455,10 +475,15 @@
{
GncDbiSqlResult* dbi_result = (GncDbiSqlResult*)result;
+ if( dbi_result->row != NULL ) {
+ gnc_sql_row_dispose( dbi_result->row );
+ dbi_result->row = NULL;
+ }
if( dbi_result->cur_row < dbi_result->num_rows ) {
dbi_result_next_row( dbi_result->result );
dbi_result->cur_row++;
- return create_dbi_row( dbi_result->result );
+ dbi_result->row = create_dbi_row( dbi_result->result );
+ return dbi_result->row;
} else {
return NULL;
}
@@ -521,7 +546,7 @@
}
static GncSqlStatement*
-create_dbi_statement( const gchar* sql )
+create_dbi_statement( gchar* sql )
{
GncDbiSqlStatement* stmt;
@@ -530,6 +555,7 @@
stmt->base.toSql = stmt_to_sql;
stmt->base.addWhereCond = stmt_add_where_cond;
stmt->sql = g_string_new( sql );
+ g_free( sql );
return (GncSqlStatement*)stmt;
}
@@ -580,7 +606,7 @@
}
static GncSqlStatement*
-conn_create_statement_from_sql( GncSqlConnection* conn, const gchar* sql )
+conn_create_statement_from_sql( GncSqlConnection* conn, gchar* sql )
{
GncDbiSqlConnection* dbi_conn = (GncDbiSqlConnection*)conn;
@@ -613,6 +639,7 @@
dbname = dbi_conn_get_option( dbi_conn->conn, "dbname" );
tables = dbi_conn_get_table_list( dbi_conn->conn, dbname, table_name );
nTables = dbi_result_get_numrows( tables );
+ dbi_result_free( tables );
if( nTables == 1 ) {
return TRUE;
Modified: gnucash/branches/gda-dev2/src/backend/gda/gnc-backend-gda.c
===================================================================
--- gnucash/branches/gda-dev2/src/backend/gda/gnc-backend-gda.c 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/backend/gda/gnc-backend-gda.c 2008-06-07 21:54:29 UTC (rev 17198)
@@ -796,7 +796,7 @@
}
static GncSqlStatement*
-conn_create_statement_from_sql( GncSqlConnection* conn, const gchar* sql )
+conn_create_statement_from_sql( GncSqlConnection* conn, gchar* sql )
{
GncGdaSqlConnection* gda_conn = (GncGdaSqlConnection*)conn;
Modified: gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.c
===================================================================
--- gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.c 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.c 2008-06-07 21:54:29 UTC (rev 17198)
@@ -71,18 +71,6 @@
return 0;
}
-static GValue*
-create_gvalue_from_string( gchar* s )
-{
- GValue* s_gval;
-
- s_gval = g_new0( GValue, 1 );
- g_value_init( s_gval, G_TYPE_STRING );
- g_value_take_string( s_gval, s );
-
- return s_gval;
-}
-
/* ----------------------------------------------------------------- */
static gpointer
get_autoinc_id( gpointer pObject, const QofParam* param )
@@ -185,7 +173,6 @@
add_string_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -275,7 +262,6 @@
add_int_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -355,7 +341,6 @@
add_boolean_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -429,7 +414,6 @@
add_int64_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -504,7 +488,6 @@
add_double_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -587,7 +570,6 @@
add_guid_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -739,7 +721,6 @@
add_timespec_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -843,7 +824,6 @@
add_date_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
g_return_if_fail( be != NULL );
@@ -943,7 +923,6 @@
add_numeric_col_info_to_list( const GncSqlBackend* be, const col_cvt_t* table_row,
GList** pList )
{
- const gchar* dbms_type;
GncSqlColumnInfo* info;
gchar* buf;
const col_cvt_t* subtable_row;
@@ -1199,7 +1178,7 @@
}
GncSqlStatement*
-gnc_sql_create_statement_from_sql( const GncSqlBackend* be, const gchar* sql )
+gnc_sql_create_statement_from_sql( const GncSqlBackend* be, gchar* sql )
{
GError* error = NULL;
GncSqlStatement* stmt;
@@ -1216,7 +1195,7 @@
}
GncSqlResult*
-gnc_sql_execute_select_sql( const GncSqlBackend* be, const gchar* sql )
+gnc_sql_execute_select_sql( const GncSqlBackend* be, gchar* sql )
{
GncSqlStatement* stmt;
GError* error = NULL;
@@ -1238,7 +1217,7 @@
}
gint
-gnc_sql_execute_nonselect_sql( const GncSqlBackend* be, const gchar* sql )
+gnc_sql_execute_nonselect_sql( const GncSqlBackend* be, gchar* sql )
{
GncSqlStatement* stmt;
GError* error = NULL;
@@ -1260,7 +1239,7 @@
}
int
-gnc_sql_execute_select_get_count( const GncSqlBackend* be, const gchar* sql )
+gnc_sql_execute_select_get_count( const GncSqlBackend* be, gchar* sql )
{
int count = 0;
GncSqlResult* result;
@@ -1392,8 +1371,6 @@
}
}
-#define INITIAL_SQL_BUF_LEN 500
-
static GSList*
create_gslist_from_values( GncSqlBackend* be,
QofIdTypeConst obj_name, gpointer pObject,
@@ -1427,9 +1404,11 @@
g_free( string );
return str;
} else {
+ PWARN( "not transformable, gtype = %d\n", G_VALUE_TYPE(value) );
return "$$$";
}
} else {
+ PWARN( "value is NULL or not G_IS_VALUE()\n" );
return "";
}
}
@@ -1554,59 +1533,7 @@
}
/* ================================================================= */
-#if 0
-void
-gnc_gda_add_table_column( GdaServerOperation* op, const gchar* arg, const gchar* dbms_type,
- gint size, gint flags, guint col_num )
-{
- gchar* buf;
- GError* error = NULL;
- gboolean ok;
- g_return_if_fail( op != NULL );
- g_return_if_fail( arg != NULL );
- g_return_if_fail( dbms_type != NULL );
-
- ok = gda_server_operation_set_value_at( op, arg, &error, "/FIELDS_A/@COLUMN_NAME/%d", col_num );
- if( !ok ) return;
- ok = gda_server_operation_set_value_at( op, dbms_type, &error, "/FIELDS_A/@COLUMN_TYPE/%d", col_num );
- if( !ok ) return;
- if( size != 0 ) {
- buf = g_strdup_printf( "%d", size );
- ok = gda_server_operation_set_value_at( op, buf, &error, "/FIELDS_A/@COLUMN_SIZE/%d", col_num );
- g_free( buf );
- if( !ok ) return;
- }
- ok = gda_server_operation_set_value_at( op,
- (flags & COL_PKEY) ? "TRUE" : "FALSE",
- &error, "/FIELDS_A/@COLUMN_PKEY/%d", col_num );
- if( error != NULL ) {
- PWARN( "Error setting PKEY for %s: %s\n", arg, error->message );
- }
- if( !ok ) return;
- ok = gda_server_operation_set_value_at( op,
- (flags & COL_NNUL) ? "TRUE" : "FALSE",
- &error, "/FIELDS_A/@COLUMN_NNUL/%d", col_num );
- if( error != NULL ) {
- PWARN( "Error setting NNUL for %s: %s\n", arg, error->message );
- }
- if( !ok ) return;
- ok = gda_server_operation_set_value_at( op,
- (flags & COL_AUTOINC) ? "TRUE" : "FALSE",
- &error, "/FIELDS_A/@COLUMN_AUTOINC/%d", col_num );
- if( error != NULL ) {
- PWARN( "Error setting AUTOINC for %s: %s\n", arg, error->message );
- }
- if( !ok ) return;
- ok = gda_server_operation_set_value_at( op,
- (flags & COL_UNIQUE) ? "TRUE" : "FALSE",
- &error, "/FIELDS_A/@COLUMN_UNIQUE/%d", col_num );
- if( error != NULL ) {
- PWARN( "Error setting UNIQUE for %s: %s\n", arg, error->message );
- }
-}
-#endif
-
static gboolean
create_table( const GncSqlBackend* be, const gchar* table_name,
const col_cvt_t* col_table, GError** pError )
@@ -1705,7 +1632,6 @@
sql = g_strdup_printf( "SELECT * FROM %s", VERSION_TABLE_NAME );
result = gnc_sql_execute_select_sql( be, sql );
- g_free( sql );
if( result != NULL ) {
const GValue* name;
const GValue* version;
Modified: gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.h
===================================================================
--- gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.h 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/backend/sql/gnc-backend-util-sql.h 2008-06-07 21:54:29 UTC (rev 17198)
@@ -68,7 +68,7 @@
void (*dispose)( GncSqlConnection* );
GncSqlResult* (*executeSelectStatement)( GncSqlConnection*, GncSqlStatement* );
gint (*executeNonSelectStatement)( GncSqlConnection*, GncSqlStatement* );
- GncSqlStatement* (*createStatementFromSql)( GncSqlConnection*, const gchar* );
+ GncSqlStatement* (*createStatementFromSql)( GncSqlConnection*, gchar* );
gboolean (*doesTableExist)( GncSqlConnection*, const gchar* );
void (*beginTransaction)( GncSqlConnection* );
void (*rollbackTransaction)( GncSqlConnection* );
@@ -256,10 +256,10 @@
gint gnc_sql_execute_statement( GncSqlBackend* pBackend, GncSqlStatement* statement );
GncSqlResult* gnc_sql_execute_select_statement( GncSqlBackend* pBackend, GncSqlStatement* statement );
GncSqlResult* gnc_sql_execute_sql_statement( GncSqlBackend* pBackend, GncSqlStatement* sqlStmt );
-GncSqlResult* gnc_sql_execute_select_sql( const GncSqlBackend* pBackend, const gchar* sql );
-gint gnc_sql_execute_nonselect_sql( const GncSqlBackend* pBackend, const gchar* sql );
-GncSqlStatement* gnc_sql_create_statement_from_sql( const GncSqlBackend* pBackend, const gchar* sql );
-int gnc_sql_execute_select_get_count( const GncSqlBackend* pBackend, const gchar* sql );
+GncSqlResult* gnc_sql_execute_select_sql( const GncSqlBackend* pBackend, gchar* sql );
+gint gnc_sql_execute_nonselect_sql( const GncSqlBackend* pBackend, gchar* sql );
+GncSqlStatement* gnc_sql_create_statement_from_sql( const GncSqlBackend* pBackend, gchar* sql );
+int gnc_sql_execute_select_get_count( const GncSqlBackend* pBackend, gchar* sql );
int gnc_sql_execute_statement_get_count( GncSqlBackend* pBackend, GncSqlStatement* statement );
void gnc_sql_load_object( const GncSqlBackend* be, GncSqlRow* row,
QofIdTypeConst obj_name, gpointer pObject,
Modified: gnucash/branches/gda-dev2/src/backend/sql/gnc-slots-sql.c
===================================================================
--- gnucash/branches/gda-dev2/src/backend/sql/gnc-slots-sql.c 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/backend/sql/gnc-slots-sql.c 2008-06-07 21:54:29 UTC (rev 17198)
@@ -427,8 +427,6 @@
buf = g_strdup_printf( "SELECT * FROM %s WHERE obj_guid='%s'", TABLE_NAME, guid_buf );
stmt = gnc_sql_create_statement_from_sql( be, buf );
- g_free( buf );
-
result = gnc_sql_execute_select_statement( be, stmt );
gnc_sql_statement_dispose( stmt );
if( result != NULL ) {
@@ -526,7 +524,7 @@
}
gnc_sql_result_dispose( result );
}
- g_string_free( sql, TRUE );
+ g_string_free( sql, FALSE );
}
/* ================================================================= */
Modified: gnucash/branches/gda-dev2/src/backend/sql/gnc-transaction-sql.c
===================================================================
--- gnucash/branches/gda-dev2/src/backend/sql/gnc-transaction-sql.c 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/backend/sql/gnc-transaction-sql.c 2008-06-07 21:54:29 UTC (rev 17198)
@@ -281,7 +281,7 @@
gnc_sql_result_dispose( result );
}
- g_string_free( sql, TRUE );
+ g_string_free( sql, FALSE );
}
static void
@@ -357,6 +357,7 @@
sql = g_strdup_printf( "SELECT * FROM %s WHERE guid = %s", TRANSACTION_TABLE, guid_buf );
stmt = gnc_sql_create_statement_from_sql( be, sql );
query_transactions( be, stmt );
+ gnc_sql_statement_dispose( stmt );
}
/* ================================================================= */
@@ -370,8 +371,8 @@
sql = g_strdup_printf( "SELECT * FROM %s", TRANSACTION_TABLE );
stmt = gnc_sql_create_statement_from_sql( be, sql );
- g_free( sql );
query_transactions( be, stmt );
+ gnc_sql_statement_dispose( stmt );
}
/* ================================================================= */
@@ -639,15 +640,16 @@
run_split_query( GncSqlBackend* be, gpointer pQuery )
{
GncSqlStatement* stmt;
- const gchar* sql;
+ gchar* sql;
g_return_if_fail( be != NULL );
g_return_if_fail( pQuery != NULL );
- sql = (const gchar*)pQuery;
+ sql = (gchar*)pQuery;
stmt = gnc_sql_create_statement_from_sql( be, sql );
query_transactions( be, stmt );
+ gnc_sql_statement_dispose( stmt );
}
static void
Modified: gnucash/branches/gda-dev2/src/business/business-core/sql/gnc-tax-table-sql.c
===================================================================
--- gnucash/branches/gda-dev2/src/business/business-core/sql/gnc-tax-table-sql.c 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/business/business-core/sql/gnc-tax-table-sql.c 2008-06-07 21:54:29 UTC (rev 17198)
@@ -234,6 +234,7 @@
/* First time, create the query */
stmt = gnc_sql_create_select_statement( be, TT_TABLE_NAME, tt_col_table );
result = gnc_sql_execute_sql_statement( be, stmt );
+ gnc_sql_statement_dispose( stmt );
if( result != NULL ) {
GncSqlRow* row;
Modified: gnucash/branches/gda-dev2/src/valgrind-gdk.supp
===================================================================
--- gnucash/branches/gda-dev2/src/valgrind-gdk.supp 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/valgrind-gdk.supp 2008-06-07 21:54:29 UTC (rev 17198)
@@ -1,4 +1,31 @@
{
+ qtcurve Cond
+ Memcheck:Cond
+ obj:/usr/lib/kde3/plugins/styles/qtcurve.so
+ fun:drawArrow
+ obj:/usr/lib/gtk-2.0/*/engines/libqtengine.so
+ fun:gtk_paint_arrow
+}
+{
+ qtcurve Cond #2
+ Memcheck:Cond
+ obj:/usr/lib/libkdefx.so*
+ obj:/usr/lib/kde3/plugins/styles/qtcurve.so
+ fun:drawArrow
+ obj:/usr/lib/gtk-2.0/*/engines/libqtengine.so
+ fun:gtk_paint_arrow
+}
+{
+ qtcurve Cond #3
+ Memcheck:Cond
+ obj:/usr/lib/libqt-mt.so*
+ obj:/usr/lib/libkdefx.so*
+ obj:/usr/lib/kde3/plugins/styles/qtcurve.so
+ fun:drawArrow
+ obj:/usr/lib/gtk-2.0/*/engines/libqtengine.so
+ fun:gtk_paint_arrow
+}
+{
<insert some suppression name here>
Memcheck:Leak
fun:malloc
Modified: gnucash/branches/gda-dev2/src/valgrind-glib.supp
===================================================================
--- gnucash/branches/gda-dev2/src/valgrind-glib.supp 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/valgrind-glib.supp 2008-06-07 21:54:29 UTC (rev 17198)
@@ -41,7 +41,7 @@
Memcheck:Leak
fun:memalign
fun:posix_memalign
- obj:/opt/gnome/lib/libglib-2.0.so.0.1200.4
+ obj:/usr/lib/libglib-2.0.so.0.1600.3
fun:g_slice_alloc
fun:g_array_sized_new
fun:g_array_new
Modified: gnucash/branches/gda-dev2/src/valgrind-gnucash.supp
===================================================================
--- gnucash/branches/gda-dev2/src/valgrind-gnucash.supp 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/valgrind-gnucash.supp 2008-06-07 21:54:29 UTC (rev 17198)
@@ -37,12 +37,69 @@
# if Free: name of free-ing fn)
{
- libld-2.7(Value4)
- Memcheck:Value4
+ libld-2.7(Addr4)
+ Memcheck:Addr4
obj:/lib/ld-2.7.so
obj:/lib/ld-2.7.so
}
{
+ libld-2.7(Addr4 #2)
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libc-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libc-2.7.so
+}
+{
+ libld-2.7(Addr4 #3)
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libc-2.7.so
+ fun:_dl_sym
+}
+{
+ libld-2.7(Addr4 #4)
+ Memcheck:Addr4
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libdl-2.7.so
+}
+{
+ libld-2.7(Cond)
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libc-2.7.so
+ fun:_dl_sym
+}
+{
+ libld-2.7(Cond #2)
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libc-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libc-2.7.so
+}
+{
+ libld-2.7(Cond #3)
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libdl-2.7.so
+}
+{
+ libld-2.7(Cond #4)
+ Memcheck:Cond
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libdl-2.7.so
+ obj:/lib/ld-2.7.so
+ obj:/lib/tls/i686/cmov/libdl-2.7.so
+}
+{
libglib-1.2.so.0(Value4)
Memcheck:Value4
fun:g_hash_table_lookup
Modified: gnucash/branches/gda-dev2/src/valgrind-libguile.supp
===================================================================
--- gnucash/branches/gda-dev2/src/valgrind-libguile.supp 2008-06-07 19:56:56 UTC (rev 17197)
+++ gnucash/branches/gda-dev2/src/valgrind-libguile.supp 2008-06-07 21:54:29 UTC (rev 17198)
@@ -50,9 +50,9 @@
libguile.so(Leak)
Memcheck:Leak
fun:malloc
- obj:/usr/lib/libguile.so.12.3.0
- obj:/usr/lib/libguile.so.12.3.0
- obj:/usr/lib/libguile.so.12.3.0
+ obj:*libguile.so*
+ obj:*libguile.so*
+ obj:*libguile.so*
}
{
scm_make_port_type Leak
@@ -60,13 +60,13 @@
fun:realloc
fun:scm_make_port_type
fun:scm_init_vports
- obj:/usr/lib/libguile.so.12.3.0
+ obj:*libguile.so*
}
{
scm_gc_for_newcell Leak
Memcheck:Leak
- fun:realloc
- obj:/usr/lib/libguile.so.12.3.0
+ fun:malloc
+ obj:*libguile.so*
fun:scm_gc_for_newcell
fun:scm_acons
}
More information about the gnucash-changes
mailing list