slimbus: Fix out-of-bounds access in slim_slicesize()
With gcc-4.1.2: slimbus/messaging.c: In function ‘slim_slicesize’: slimbus/messaging.c:186: warning: statement with no effect Indeed, clamp() is a macro not operating in-place, but returning the clamped value. Hence the value is not clamped at all, which may lead to an out-of-bounds access. Fix this by assigning the clamped value. Fixes: afbdcc7c384b0d44 ("slimbus: Add messaging APIs to slimbus framework") Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4aa403b775
commit
e33bbe6914
@ -183,7 +183,7 @@ static u16 slim_slicesize(int code)
|
||||
0, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7
|
||||
};
|
||||
|
||||
clamp(code, 1, (int)ARRAY_SIZE(sizetocode));
|
||||
code = clamp(code, 1, (int)ARRAY_SIZE(sizetocode));
|
||||
|
||||
return sizetocode[code - 1];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user