diff options
author | jstebbins <[email protected]> | 2012-05-01 11:23:36 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2012-05-01 11:23:36 +0000 |
commit | df3daf7cdd85794ef3d7f0eff181eb3b323a489f (patch) | |
tree | bb7e5295a613949f3b556d7baf5a43b387b551f6 /gtk/src | |
parent | 2e8be70b9910c62d8d8cb693f8c58485efbf4e97 (diff) |
merge assorted fixes provided by Rogerio Brito
Pretty much all resource cleanup issues on error condition handling.
Thanks Rogerio!
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4620 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'gtk/src')
-rw-r--r-- | gtk/src/callbacks.c | 6 | ||||
-rw-r--r-- | gtk/src/create_resources.c | 1 | ||||
-rw-r--r-- | gtk/src/presets.c | 6 |
3 files changed, 10 insertions, 3 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c index ba0d569cc..a3b71ebb0 100644 --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -4966,15 +4966,17 @@ ghb_check_update(signal_user_data_t *ud) if (host == NULL || appcast == NULL) return NULL; - query = g_strdup_printf( "GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n", + query = g_strdup_printf("GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n", appcast, host); ioc = ghb_net_open(ud, host, 80); if (ioc == NULL) - return NULL; + goto free_resources; g_io_channel_write_chars(ioc, query, strlen(query), &len, &gerror); g_io_channel_flush(ioc, &gerror); + +free_resources: g_free(query); g_free(host); g_free(appcast); diff --git a/gtk/src/create_resources.c b/gtk/src/create_resources.c index 3a979bd87..ca5ea828b 100644 --- a/gtk/src/create_resources.c +++ b/gtk/src/create_resources.c @@ -531,6 +531,7 @@ main(gint argc, gchar *argv[]) gval = ghb_resource_parse_file(file); ghb_plist_write_file(dst, gval); + fclose(file); return 0; } diff --git a/gtk/src/presets.c b/gtk/src/presets.c index 70b23ed6b..cc2f23e8a 100644 --- a/gtk/src/presets.c +++ b/gtk/src/presets.c @@ -431,7 +431,10 @@ presets_find_pos(const GValue *path, gint type, gint *len) val = ghb_array_get_nth(path, ii); name = g_value_get_string(val); indices[ii] = presets_find_element(nested, name); - if (indices[ii] == -1) return NULL; + if (indices[ii] == -1) { + g_free(indices); + return NULL; + } dict = ghb_array_get_nth(nested, indices[ii]); folder = ghb_value_boolean(preset_dict_get_value(dict, "Folder")); nested = NULL; @@ -1683,6 +1686,7 @@ ghb_presets_list_init( if (presets == NULL) { g_warning("Failed to find parent folder when adding child."); + g_free(more_indices); return; } count = ghb_array_len(presets); |