diff options
author | Patrick Georgi <pgeorgi@google.com> | 2019-08-27 16:12:19 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-28 08:45:08 +0000 |
commit | 9380ae9ffe98639058c487821a90cbe3bde614f2 (patch) | |
tree | 2fc8a0a3d5a8cc54386d25ce83b8057edc76d945 | |
parent | cd2de3fc71ecfe098a9bf11f9832f1644cfcb324 (diff) | |
download | chrome-ec-9380ae9ffe98639058c487821a90cbe3bde614f2.tar.gz |
common/i2c_master: don't bitshift negatively
That's undefined behavior. Found by Coverity Scan.
BUG=none
BRANCH=none
TEST=none
Change-Id: I85927adeee91ccf06a9651f0279999391b2a5e69
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1768651
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
-rw-r--r-- | common/i2c_master.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/common/i2c_master.c b/common/i2c_master.c index d5eeaab04b..956de25d3e 100644 --- a/common/i2c_master.c +++ b/common/i2c_master.c @@ -53,6 +53,10 @@ static int i2c_port_is_locked(int port) /* Test the controller, not the port */ port = i2c_port_to_controller(port); #endif + /* can't lock a non-existing port */ + if (port < 0) + return 0; + return (i2c_port_active_list >> port) & 1; } |