Diff between 969cac307c89ef31a41a0b614dcc554596079f20 and 50d7138fe775ce5e0a38b84882fd72683c94ecd7

Changed Files

File Additions Deletions Status
obexd/client/main.c +6 -2 modified
obexd/client/session.c +5 -3 modified

Full Patch

diff --git a/obexd/client/main.c b/obexd/client/main.c
index e20eafc..259d4b0 100644
--- a/obexd/client/main.c
+++ b/obexd/client/main.c
@@ -74,10 +74,14 @@ static void create_callback(struct session_data *session, void *user_data)
 
 	for (i = 0; i < data->files->len; i++) {
 		const gchar *filename = g_ptr_array_index(data->files, i);
+		gchar *basename = g_path_get_basename(filename);
 
-		if (session_send(session, filename,
-				g_path_get_basename(filename)) < 0)
+		if (session_send(session, filename, basename) < 0) {
+			g_free(basename);
 			break;
+		}
+
+		g_free(basename);
 	}
 
 done:
diff --git a/obexd/client/session.c b/obexd/client/session.c
index 83374b5..c61c004 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
@@ -992,8 +992,9 @@ complete:
 	}
 
 	if (session->pending->len > 0) {
-		gchar *filename;
-		filename = g_ptr_array_index(session->pending, 0);
+		gchar *filename = g_ptr_array_index(session->pending, 0);
+		gchar *basename = g_path_get_basename(filename);
+
 		g_ptr_array_remove(session->pending, filename);
 
 		if (session->transfer_path) {
@@ -1003,8 +1004,9 @@ complete:
 			session->transfer_path = NULL;
 		}
 
-		session_send(session, filename, g_path_get_basename(filename));
+		session_send(session, filename, basename);
 		g_free(filename);
+		g_free(basename);
 	}
 
 	session_unref(session);