]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: greybus: loopback_test: Fix open error path
authorsayli karnik <karniksayli1995@gmail.com>
Mon, 20 Feb 2017 17:10:28 +0000 (22:40 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Mar 2017 08:17:01 +0000 (09:17 +0100)
Change array index from the loop bound variable to loop index.
If a poll file fails to open for any intermediate device, all poll files with
fds of devices from 0 upto that device must be closed in the open_poll_files()
function. The current code only closes the poll file with the most recent fd
allocated, and at times tries to close the same file multiple times.

Detected by coccinelle:

@@
expression arr,ex1,ex2;
@@

for(ex1 = 0; ex1 < ex2; ex1++) { <...
  arr[
- ex2
+ ex1
  ]
  ...> }

Signed-off-by: sayli karnik <karniksayli1995@gmail.com>
Reviewed-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/greybus/tools/loopback_test.c

index 1c01833d1f4ea76f58bf926d4adab74a915b8a2c..f1edd4bc411edd0d71b8a26ca7daaf726ec02cb7 100644 (file)
@@ -674,7 +674,7 @@ static int open_poll_files(struct loopback_test *t)
 
 err:
        for (i = 0; i < fds_idx; i++)
-               close(t->fds[fds_idx].fd);
+               close(t->fds[i].fd);
 
        return -1;
 }