Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9863bc49 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

media: ir-kbd-i2c: change the if logic to avoid a warning



While the code is correct, it produces this warning:
	drivers/media/i2c/ir-kbd-i2c.c:593 zilog_ir_format() error: buffer overflow 'code_block->codes' 61 <= 173

As static analyzers may be tricked by arithmetic expressions on
comparisions. So, change the order, in order to shut up this
false-positive warning.

That also makes easier for humans to understand that it won't
be trying to go past buffer size.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent c3902dab
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -583,7 +583,7 @@ static int zilog_ir_format(struct rc_dev *rcdev, unsigned int *txbuf,
		/* first copy any leading non-repeating */
		int leading = c - rep * 3;

		if (leading + rep >= ARRAY_SIZE(code_block->codes) - 3) {
		if (leading >= ARRAY_SIZE(code_block->codes) - 3 - rep) {
			dev_warn(&rcdev->dev, "IR too long, cannot transmit\n");
			return -EINVAL;
		}