2009-02-09 23:50:56

by Gustavo F. Padovan

[permalink] [raw]
Subject: [PATCH] tools: Fix memory leaks

Some printfs was using as parameter functions that return dinamic
allocated memory. Now, we free them!

---
tools/hciconfig.c | 15 ++++++++++++---
tools/hcitool.c | 6 ++++--
2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/tools/hciconfig.c b/tools/hciconfig.c
index 960f450..a89aed1 100644
--- a/tools/hciconfig.c
+++ b/tools/hciconfig.c
@@ -85,7 +85,10 @@ static void print_dev_list(int ctl, int flags)

static void print_pkt_type(struct hci_dev_info *di)
{
- printf("\tPacket type: %s\n", hci_ptypetostr(di->pkt_type));
+ char *str;
+ str = hci_ptypetostr(di->pkt_type);
+ printf("\tPacket type: %s\n", str);
+ bt_free(str);
}

static void print_link_policy(struct hci_dev_info *di)
@@ -95,7 +98,10 @@ static void print_link_policy(struct hci_dev_info *di)

static void print_link_mode(struct hci_dev_info *di)
{
- printf("\tLink mode: %s\n", hci_lmtostr(di->link_mode));
+ char *str;
+ str = hci_lmtostr(di->link_mode);
+ printf("\tLink mode: %s\n", str);
+ bt_free(str);
}

static void print_dev_features(struct hci_dev_info *di, int format)
@@ -1586,10 +1592,13 @@ static void print_dev_hdr(struct hci_dev_info *di)
static void print_dev_info(int ctl, struct hci_dev_info *di)
{
struct hci_dev_stats *st = &di->stat;
+ char *str;

print_dev_hdr(di);

- printf("\t%s\n", hci_dflagstostr(di->flags) );
+ str = hci_dflagstostr(di->flags);
+ printf("\t%s\n", str);
+ bt_free(str);

printf("\tRX bytes:%d acl:%d sco:%d events:%d errors:%d\n",
st->byte_rx, st->acl_rx, st->sco_rx, st->evt_rx, st->err_rx);
diff --git a/tools/hcitool.c b/tools/hcitool.c
index e24bde9..faf4cb4 100644
--- a/tools/hcitool.c
+++ b/tools/hcitool.c
@@ -102,11 +102,13 @@ static int conn_list(int s, int dev_id, long arg)

for (i = 0; i < cl->conn_num; i++, ci++) {
char addr[18];
+ char *str;
ba2str(&ci->bdaddr, addr);
+ str = hci_lmtostr(ci->link_mode);
printf("\t%s %s %s handle %d state %d lm %s\n",
ci->out ? "<" : ">", type2str(ci->type),
- addr, ci->handle, ci->state,
- hci_lmtostr(ci->link_mode));
+ addr, ci->handle, ci->state, str);
+ bt_free(str);
}

return 0;
--
1.6.0.6



2009-02-10 17:23:20

by Gustavo F. Padovan

[permalink] [raw]
Subject: Re: [PATCH] tools: Fix memory leaks

On Tue, Feb 10, 2009 at 1:43 PM, Marcel Holtmann <[email protected]> wrot=
e:
> Hi Gustavo,
>
>> Some printfs was using as parameter functions that return dinamic
>> allocated memory. Now, we free them!
>
> you patch has been applied, but I had to modify the commit message a lot
> to turn it into a little bit more proper English :)

Ok. My English is bad, sorry. ;-)

>
> Regards
>
> Marcel
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth=
" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>



--=20
----------------------------------------------
Gustavo Fernando Padovan
Engenharia de Computa=E7=E3o 2006
Instituto de Computa=E7=E3o - UNICAMP

[email protected]
[email protected]
-------------------------------------------

Seja Livre, use Software Livre

2009-02-10 15:43:12

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] tools: Fix memory leaks

Hi Gustavo,

> Some printfs was using as parameter functions that return dinamic
> allocated memory. Now, we free them!

you patch has been applied, but I had to modify the commit message a lot
to turn it into a little bit more proper English :)

Regards

Marcel



2009-02-09 13:28:25

by Gustavo F. Padovan

[permalink] [raw]
Subject: Re: [PATCH] tools: Fix memory leaks

On Mon, Feb 9, 2009 at 10:31 AM, Marcel Holtmann <[email protected]> wrot=
e:
> Hi Gustavo,
>
>> Some printfs was using as parameter functions that return dinamic
>> allocated memory. Now, we free them!
>>
>> Signed-off-by: Gustavo F. Padovan <[email protected]>
>
> BlueZ doesn't use Signed-off-by for commit messages. That is kernel
> stuff.
>
>> @@ -1586,10 +1592,13 @@ static void print_dev_hdr(struct hci_dev_info *d=
i)
>> static void print_dev_info(int ctl, struct hci_dev_info *di)
>> {
>> struct hci_dev_stats *st =3D &di->stat;
>> + char * str;
>
> This needs to be "char *str;"
>
> Please fix it and re-sent the patch.

Ok.

>
> Regards
>
> Marcel
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth=
" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>



--=20
----------------------------------------------
Gustavo Fernando Padovan
Engenharia de Computa=E7=E3o 2006
Instituto de Computa=E7=E3o - UNICAMP

[email protected]
[email protected]
-------------------------------------------

Seja Livre, use Software Livre

2009-02-09 12:31:21

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] tools: Fix memory leaks

Hi Gustavo,

> Some printfs was using as parameter functions that return dinamic
> allocated memory. Now, we free them!
>
> Signed-off-by: Gustavo F. Padovan <[email protected]>

BlueZ doesn't use Signed-off-by for commit messages. That is kernel
stuff.

> @@ -1586,10 +1592,13 @@ static void print_dev_hdr(struct hci_dev_info *di)
> static void print_dev_info(int ctl, struct hci_dev_info *di)
> {
> struct hci_dev_stats *st = &di->stat;
> + char * str;

This needs to be "char *str;"

Please fix it and re-sent the patch.

Regards

Marcel