From: Andrei Emeltchenko <[email protected]>
Revert part of commit 8035ded4 which has introduced bug by
assigning uninitialized value.
...
+ src/net/bluetooth/rfcomm/tty.c: warning: 'p' is used uninitialized in this
function: => 218
+ src/net/bluetooth/rfcomm/tty.c: warning: 'p' may be used uninitialized in
this function: => 218
...
Reported-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Andrei Emeltchenko <[email protected]>
---
net/bluetooth/rfcomm/tty.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
index a2d4f51..ca6c8a6 100644
--- a/net/bluetooth/rfcomm/tty.c
+++ b/net/bluetooth/rfcomm/tty.c
@@ -210,8 +210,8 @@ static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc)
if (req->dev_id < 0) {
dev->id = 0;
- list_for_each_entry(entry, &rfcomm_dev_list, list) {
- if (entry->id != dev->id)
+ list_for_each(p, &rfcomm_dev_list) {
+ if (list_entry(p, struct rfcomm_dev, list)->id != dev->id)
break;
dev->id++;
@@ -220,7 +220,9 @@ static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc)
} else {
dev->id = req->dev_id;
- list_for_each_entry(entry, &rfcomm_dev_list, list) {
+ list_for_each(p, &rfcomm_dev_list) {
+ struct rfcomm_dev *entry = list_entry(p, struct rfcomm_dev, list);
+
if (entry->id == dev->id) {
err = -EADDRINUSE;
goto out;
--
1.7.9
Hi Andrei,
* Andrei Emeltchenko <[email protected]> [2012-03-07 14:51:45 +0200]:
> From: Andrei Emeltchenko <[email protected]>
>
> Revert part of commit 8035ded4 which has introduced bug by
> assigning uninitialized value.
>
> ...
> + src/net/bluetooth/rfcomm/tty.c: warning: 'p' is used uninitialized in this
> function: => 218
> + src/net/bluetooth/rfcomm/tty.c: warning: 'p' may be used uninitialized in
> this function: => 218
> ...
>
> Reported-by: Geert Uytterhoeven <[email protected]>
> Signed-off-by: Andrei Emeltchenko <[email protected]>
> ---
> net/bluetooth/rfcomm/tty.c | 8 +++++---
> 1 files changed, 5 insertions(+), 3 deletions(-)
I saw Luiz' fix for this before and I already applied it.
Also I prefer to keep the list_for_each_entry() call.
Gustavo