2013-11-25 13:14:43

by Andrei Emeltchenko

[permalink] [raw]
Subject: [PATCH 1/3] sdptool: Fix memory leaks creating OPP record

From: Andrei Emeltchenko <[email protected]>

---
tools/sdptool.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/sdptool.c b/tools/sdptool.c
index f985b1e..78dc281 100644
--- a/tools/sdptool.c
+++ b/tools/sdptool.c
@@ -1813,7 +1813,10 @@ end:
sdp_list_free(proto[1], 0);
sdp_list_free(proto[2], 0);
sdp_list_free(apseq, 0);
+ sdp_list_free(pfseq, 0);
sdp_list_free(aproto, 0);
+ sdp_list_free(root, 0);
+ sdp_list_free(svclass_id, NULL);

return ret;
}
--
1.8.3.2



2013-11-25 13:42:34

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH 1/3] sdptool: Fix memory leaks creating OPP record

Hi Andrei,

On Mon, Nov 25, 2013, Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <[email protected]>
>
> ---
> tools/sdptool.c | 3 +++
> 1 file changed, 3 insertions(+)

All three patches have been applied, however don't hesitate to also send
patches to fix using 0 instead of NULL for pointers.

Johan

2013-11-25 13:14:45

by Andrei Emeltchenko

[permalink] [raw]
Subject: [PATCH 3/3] sdptool: Make code consistent for SPP record add

From: Andrei Emeltchenko <[email protected]>

Move freeing to the end of the function like it is done for other
records.
---
tools/sdptool.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/sdptool.c b/tools/sdptool.c
index 6682612..b4b65ec 100644
--- a/tools/sdptool.c
+++ b/tools/sdptool.c
@@ -1174,18 +1174,15 @@ static int add_sp(sdp_session_t *session, svc_info_t *si)
sdp_uuid16_create(&root_uuid, PUBLIC_BROWSE_GROUP);
root = sdp_list_append(0, &root_uuid);
sdp_set_browse_groups(&record, root);
- sdp_list_free(root, 0);

sdp_uuid16_create(&sp_uuid, SERIAL_PORT_SVCLASS_ID);
svclass_id = sdp_list_append(0, &sp_uuid);
sdp_set_service_classes(&record, svclass_id);
- sdp_list_free(svclass_id, 0);

sdp_uuid16_create(&profile.uuid, SERIAL_PORT_PROFILE_ID);
profile.version = 0x0100;
profiles = sdp_list_append(0, &profile);
sdp_set_profile_descs(&record, profiles);
- sdp_list_free(profiles, 0);

sdp_uuid16_create(&l2cap, L2CAP_UUID);
proto[0] = sdp_list_append(0, &l2cap);
@@ -1226,6 +1223,9 @@ end:
sdp_list_free(proto[1], 0);
sdp_list_free(apseq, 0);
sdp_list_free(aproto, 0);
+ sdp_list_free(root, 0);
+ sdp_list_free(svclass_id, 0);
+ sdp_list_free(profiles, 0);

return ret;
}
--
1.8.3.2


2013-11-25 13:14:44

by Andrei Emeltchenko

[permalink] [raw]
Subject: [PATCH 2/3] sdptool: Fix memory leaks creating PBAP record

From: Andrei Emeltchenko <[email protected]>

---
tools/sdptool.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/sdptool.c b/tools/sdptool.c
index 78dc281..6682612 100644
--- a/tools/sdptool.c
+++ b/tools/sdptool.c
@@ -1888,7 +1888,10 @@ end:
sdp_list_free(proto[1], 0);
sdp_list_free(proto[2], 0);
sdp_list_free(apseq, 0);
+ sdp_list_free(pfseq, 0);
sdp_list_free(aproto, 0);
+ sdp_list_free(root, 0);
+ sdp_list_free(svclass_id, 0);

return ret;
}
--
1.8.3.2