From 4a180e955fc0e9826a4808b05b04c649869cd21e Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Wed, 6 Oct 2010 08:39:22 -0600 Subject: fix memory leaks. --- src/callbacks.c | 4 ++-- src/events.c | 1 + src/uzbl-core.c | 27 +++++++++++++++------------ 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/callbacks.c b/src/callbacks.c index 0fbf589..0a28ec6 100644 --- a/src/callbacks.c +++ b/src/callbacks.c @@ -589,9 +589,9 @@ motion_notify_cb(GtkWidget* window, GdkEventMotion* event, gpointer user_data) { (void) event; (void) user_data; - gchar *details; - details = g_strdup_printf("%.0lf %.0lf %u", event->x, event->y, event->state); + gchar *details = g_strdup_printf("%.0lf %.0lf %u", event->x, event->y, event->state); send_event(PTR_MOVE, details, NULL); + g_free(details); return FALSE; } diff --git a/src/events.c b/src/events.c index c209550..40a28e2 100644 --- a/src/events.c +++ b/src/events.c @@ -83,6 +83,7 @@ send_event_socket(GString *msg) { ret = g_io_channel_write_chars (gio, tmp->str, tmp->len, &len, &error); + g_string_free(tmp, TRUE); if (ret == G_IO_STATUS_ERROR) g_warning ("Error sending event to socket: %s", error->message); diff --git a/src/uzbl-core.c b/src/uzbl-core.c index 12d20ae..b06d369 100644 --- a/src/uzbl-core.c +++ b/src/uzbl-core.c @@ -2381,6 +2381,7 @@ initialize(int argc, char *argv[]) { void load_uri_imp(gchar *uri) { GString* newuri; + SoupURI* soup_uri; /* Strip leading whitespaces */ while (*uri) { @@ -2392,26 +2393,28 @@ load_uri_imp(gchar *uri) { eval_js(uzbl.gui.web_view, uri, NULL, "javascript:"); return; } + newuri = g_string_new (uri); - if (!soup_uri_new(uri)) { - GString* fullpath = g_string_new (""); + soup_uri = soup_uri_new(uri); + + if (!soup_uri) { + gchar* fullpath; if (g_path_is_absolute (newuri->str)) - g_string_assign (fullpath, newuri->str); + fullpath = newuri->str; else { - gchar* wd; - wd = g_get_current_dir (); - g_string_assign (fullpath, g_build_filename (wd, newuri->str, NULL)); - free(wd); + gchar* wd = g_get_current_dir (); + fullpath = g_build_filename (wd, newuri->str, NULL); + g_free(wd); } struct stat stat_result; - if (! g_stat(fullpath->str, &stat_result)) { - g_string_prepend (fullpath, "file://"); - g_string_assign (newuri, fullpath->str); - } + if (! g_stat(fullpath, &stat_result)) + g_string_printf (newuri, "file://%s", fullpath); else g_string_prepend (newuri, "http://"); - g_string_free (fullpath, TRUE); + } else { + soup_uri_free(soup_uri); } + /* if we do handle cookies, ask our handler for them */ webkit_web_view_load_uri (uzbl.gui.web_view, newuri->str); g_string_free (newuri, TRUE); -- cgit v1.2.3