diff options
author | Egbert Eich <eich@suse.de> | 2015-11-24 17:37:36 +0100 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2015-11-30 11:48:08 -0500 |
commit | 44d0fd435a4eaf45e252b4f00409152a6d599dfc (patch) | |
tree | 0562fc7cb7fae4681be05517bc68af2949fe0ee5 | |
parent | eb36924ead40564325aa56d54a973dc8fb4eae83 (diff) |
kdrive/UnregisterFd: Fix off by one
The number of FDs has been decremented already, therefore the
number contained the index of the top one that is to me moved down.
This problem was introduced by:
commit 1110b71e360195aab040d835b54540ab558638c5
Author: Chris Clayton <chris2553@googlemail.com>
kdrive: fix build error on gcc 4.8 for out-of-bounds array access
The reason for the warning was likely a confused compiler.
Hoping to reduce the confusion by moving the decrement behind the end
if the copy loop.
Signed-off-by: Egbert Eich <eich@suse.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | hw/kdrive/src/kinput.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index 4bb9315f5..d5741f100 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -220,9 +220,9 @@ KdUnregisterFd(void *closure, int fd, Bool do_close) KdRemoveFd(kdInputFds[i].fd); if (do_close) close(kdInputFds[i].fd); - kdNumInputFds--; for (j = i; j < (kdNumInputFds - 1); j++) kdInputFds[j] = kdInputFds[j + 1]; + kdNumInputFds--; break; } } |