Commit 6796cd84 authored by sayli karnik's avatar sayli karnik Committed by Greg Kroah-Hartman
Browse files

staging: greybus: loopback_test: Fix open error path



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: default avatarsayli karnik <karniksayli1995@gmail.com>
Reviewed-by: default avatarJohan Hovold <johan@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fea3860d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
}