# HG changeset patch # User Jussi Judin # Date 1198570582 21600 # Node ID bcd96cdc3a928987d2d874647c8af3fb3761faf7 # Parent 2e961ce4bfe81821721aa8fbdda7798eb690b7bb Fixes memleaks in open_file() function of libtimidity (Bugzilla #27) diff -r 2e961ce4bfe8 -r bcd96cdc3a92 src/timidity/libtimidity/common.c --- a/src/timidity/libtimidity/common.c Tue Dec 25 02:15:51 2007 -0600 +++ b/src/timidity/libtimidity/common.c Tue Dec 25 02:16:22 2007 -0600 @@ -41,6 +41,7 @@ VFSFile *open_file(char *name) { VFSFile *fp; + gchar* uri; if (!name || !(*name)) { @@ -51,7 +52,10 @@ /* First try the given name */ DEBUG_MSG("Trying to open %s\n", name); - if ((fp = aud_vfs_fopen(g_filename_to_uri(name, NULL, NULL), OPEN_MODE))) + uri = g_filename_to_uri(name, NULL, NULL); + fp = aud_vfs_fopen(uri, OPEN_MODE); + g_free(uri); + if (fp) return fp; if (name[0] != PATH_SEP) @@ -75,7 +79,10 @@ } strcat(current_filename, name); DEBUG_MSG("Trying to open %s\n", current_filename); - if ((fp = aud_vfs_fopen(g_filename_to_uri(current_filename, NULL, NULL), OPEN_MODE))) + uri = g_filename_to_uri(current_filename, NULL, NULL); + fp = aud_vfs_fopen(uri, OPEN_MODE); + g_free(uri); + if (fp) return fp; plp = plp->next; }