diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-05-03 14:34:22 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2011-06-07 13:28:27 +1000 |
commit | 89c7eff322c60d78c814693ecb28fa6c65159d3e (patch) | |
tree | 423c8d5e296edf0bec8a8be8413d386bb84891ce | |
parent | 7c6003718458ede0542233a213e05d67731d3e28 (diff) |
XIChangeHierarchy: Return Success early if no actual changes are requested.
Do the same for negative num_changes.
Found by static analyzer.
Reported-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
(cherry picked from commit cc6feecae23b321952921cf927bc965386844c8c)
-rw-r--r-- | man/XIChangeHierarchy.txt | 3 | ||||
-rw-r--r-- | src/XIHierarchy.c | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/man/XIChangeHierarchy.txt b/man/XIChangeHierarchy.txt index ac667bc..205f40f 100644 --- a/man/XIChangeHierarchy.txt +++ b/man/XIChangeHierarchy.txt @@ -30,7 +30,8 @@ DESCRIPTION XIChangeHierarchy modifies the device hierarchy by creating or removing master devices or changing the attachment of slave devices. If num_changes is non-zero, changes is an array of - XIAnyHierarchyChangeInfo structures. + XIAnyHierarchyChangeInfo structures. If num_changes is equal or less than + zero, XIChangeHierarchy does nothing. XIChangeHierarchy processes changes in order, effective immediately. If an error occurs, processing is aborted and the diff --git a/src/XIHierarchy.c b/src/XIHierarchy.c index d30ea29..09e6f93 100644 --- a/src/XIHierarchy.c +++ b/src/XIHierarchy.c @@ -52,6 +52,9 @@ XIChangeHierarchy(Display* dpy, if (_XiCheckExtInit(dpy, XInput_2_0, info) == -1) return (NoSuchExtension); + if (num_changes <= 0) + return Success; + GetReq(XIChangeHierarchy, req); req->reqType = info->codes->major_opcode; req->ReqType = X_XIChangeHierarchy; |