diff options
author | Gargi Sharma <gs051095@gmail.com> | 2017-02-22 21:08:21 +0530 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-06 09:17:01 +0100 |
commit | fea3860d7d69b0a82e0b96617258ffaf0ff250d4 (patch) | |
tree | 426f0727625562d975dce59ce4ad236026818883 | |
parent | 95ee706e9a6e3b18d8bf37cbb238e55ba37b37a7 (diff) | |
download | op-kernel-dev-fea3860d7d69b0a82e0b96617258ffaf0ff250d4.zip op-kernel-dev-fea3860d7d69b0a82e0b96617258ffaf0ff250d4.tar.gz |
staging: greybus: loopback_test: fix device-name leak
All the device names were being always leaked. Also,
illegal free was being called upon namelist[n] which
was coincidentally NULL. The pointer to dirent structures
must be individually freed before freeing the pointer array.
Coccinelle Script:
@@
expression arr,ex1,ex2;
@@
for(ex1 = 0; ex1 < ex2; ex1++) { <...
arr[
- ex2
+ ex1
]
...> }
Signed-off-by: Gargi Sharma <gs051095@gmail.com>
Reviewed by: Johan Hovold <johan@kernel.org>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/staging/greybus/tools/loopback_test.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/greybus/tools/loopback_test.c b/drivers/staging/greybus/tools/loopback_test.c index 18d7a3d..1c01833 100644 --- a/drivers/staging/greybus/tools/loopback_test.c +++ b/drivers/staging/greybus/tools/loopback_test.c @@ -636,7 +636,7 @@ int find_loopback_devices(struct loopback_test *t) ret = 0; done: for (i = 0; i < n; i++) - free(namelist[n]); + free(namelist[i]); free(namelist); baddir: return ret; |