From: Steve Grubb <sgrubb@redhat.com>
To: linux-bluetooth@vger.kernel.org
Subject: [Bluez PATCH ] Fix memory leaks in obex
Date: Sat, 15 May 2021 09:43:07 -0400 [thread overview]
Message-ID: <20210515094307.16fb1572@ivy-bridge> (raw)
This patch fixes a couple memory leaks.
In filesystem, g_file_get_contents allocates fresh memory to buf.
It needs to be freed after conversion to a GString object.
Destination was missed on an error path as is mld.
---
obexd/plugins/filesystem.c | 2 +-
obexd/plugins/ftp.c | 8 ++++++--
obexd/plugins/messages-dummy.c | 1 +
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/obexd/plugins/filesystem.c b/obexd/plugins/filesystem.c
index 09bff8ad0..44e3cf3d2 100644
--- a/obexd/plugins/filesystem.c
+++ b/obexd/plugins/filesystem.c@@ -416,6 +416,7 @@ static void *capability_open(const char *name, int oflag, mode_t mode,
}
object->buffer = g_string_new(buf);
+ g_free(buf);
if (size)
*size = object->buffer->len;
diff --git a/obexd/plugins/ftp.c b/obexd/plugins/ftp.c
index 259bfcae2..4b04bab06 100644
--- a/obexd/plugins/ftp.c
+++ b/obexd/plugins/ftp.c
@@ -386,8 +386,10 @@ static int ftp_copy(struct ftp_session *ftp, const char *name,
ret = verify_path(destdir);
g_free(destdir);
- if (ret < 0)
+ if (ret < 0) {
+ g_free(destination);
return ret;
+ }
source = g_build_filename(ftp->folder, name, NULL);
@@ -424,8 +426,10 @@ static int ftp_move(struct ftp_session *ftp, const char *name,
ret = verify_path(destdir);
g_free(destdir);
- if (ret < 0)
+ if (ret < 0) {
+ g_free(destination);
return ret;
+ }
source = g_build_filename(ftp->folder, name, NULL);
diff --git a/obexd/plugins/messages-dummy.c b/obexd/plugins/messages-dummy.c
index 34199fa05..e37b52df6 100644
--- a/obexd/plugins/messages-dummy.c
+++ b/obexd/plugins/messages-dummy.c
@@ -488,6 +488,7 @@ int messages_get_messages_listing(void *session, const char *name,
int err = -errno;
DBG("fopen(): %d, %s", -err, strerror(-err));
g_free(path);
+ g_free(mld);
return -EBADR;
}
}
--
2.31.1
next reply other threads:[~2021-05-15 13:42 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-15 13:43 Steve Grubb [this message]
2021-05-17 17:10 ` [Bluez PATCH ] Fix memory leaks in obex Tedd Ho-Jeong An
2021-05-17 17:17 ` Steve Grubb
2021-05-19 18:09 ` Luiz Augusto von Dentz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210515094307.16fb1572@ivy-bridge \
--to=sgrubb@redhat.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox