[PATCH obexd] Fix memory leak on opp plugin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>

Folder and name can point to allocated memory so they need to be freed
before returning.

Thanks for Daniele Forsi <dforsi@xxxxxxxxx> for reporting it.
---
 plugins/opp.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/plugins/opp.c b/plugins/opp.c
index 644a2c6..fd78af4 100644
--- a/plugins/opp.c
+++ b/plugins/opp.c
@@ -142,8 +142,10 @@ static int opp_chkput(struct obex_session *os, void *user_data)
 		name = g_strdup(obex_get_name(os));
 
 skip_auth:
-	if (name == NULL || strlen(name) == 0)
-		return -EBADR;
+	if (name == NULL || strlen(name) == 0) {
+		ret = -EBADR;
+		goto failed;
+	}
 
 	if (g_strcmp0(name, obex_get_name(os)) != 0)
 		obex_set_name(os, name);
@@ -155,6 +157,8 @@ skip_auth:
 	ret = obex_put_stream_start(os, path);
 
 	g_free(path);
+
+failed:
 	g_free(folder);
 	g_free(name);
 
-- 
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux