mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
MIPS: Fix strnlen_user() return value in case of overlong strings.
We were returning maxlen like the userland strnlen if no '\0' character was encountered while the kernel version is expected to return a value larger than maxlen. Fixed to return maxlen + 1. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
30fa0530ff
commit
0097761013
@ -40,9 +40,11 @@ FEXPORT(__strnlen_\func\()_nocheck_asm)
|
||||
.else
|
||||
EX(lbe, t0, (v0), .Lfault\@)
|
||||
.endif
|
||||
PTR_ADDIU v0, 1
|
||||
.set noreorder
|
||||
bnez t0, 1b
|
||||
1: PTR_SUBU v0, a0
|
||||
1: PTR_ADDIU v0, 1
|
||||
.set reorder
|
||||
PTR_SUBU v0, a0
|
||||
jr ra
|
||||
END(__strnlen_\func\()_asm)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user