From 304d23581b41d11f39f8377bdf4b0e2ecc40bf40 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Wed, 5 Nov 2008 13:19:53 +0200 Subject: [PATCH] obexd: Plug memory leaks --- obexd/src/bluetooth.c | 4 +--- obexd/src/obex.c | 8 ++++++++ obexd/src/obex.h | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/obexd/src/bluetooth.c b/obexd/src/bluetooth.c index 6fdeb76a1..f0014bdd1 100644 --- a/obexd/src/bluetooth.c +++ b/obexd/src/bluetooth.c @@ -108,9 +108,7 @@ static void server_destroyed(gpointer user_data) servers = g_slist_remove(servers, server); - g_free(server->name); - g_free(server->folder); - g_free(server); + server_free(server); } static gint server_register(guint16 service, const gchar *name, guint8 channel, diff --git a/obexd/src/obex.c b/obexd/src/obex.c index de96c8a4f..403e6cc9d 100644 --- a/obexd/src/obex.c +++ b/obexd/src/obex.c @@ -846,6 +846,14 @@ static void obex_event(obex_t *obex, obex_object_t *obj, gint mode, } } +void server_free(struct server *server) +{ + g_free(server->name); + g_free(server->folder); + g_free(server->capability); + g_free(server); +} + static void obex_handle_destroy(gpointer user_data) { struct obex_session *os; diff --git a/obexd/src/obex.h b/obexd/src/obex.h index 0493f452d..01dacfdfb 100644 --- a/obexd/src/obex.h +++ b/obexd/src/obex.h @@ -90,3 +90,5 @@ void pbap_get(obex_t *obex, obex_object_t *obj); gboolean os_prepare_get(struct obex_session *os, gchar *file, guint32 *size); gint os_prepare_put(struct obex_session *os); + +void server_free(struct server *server); -- 2.47.3