On 7/19/22 17:41, Peter Maydell wrote:
The documentation comment for qemu_semihosting_console_write() says
  * Returns: number of bytes written -- this should only ever be short
  * on some sort of i/o error.

and the callsites rely on this.  However, the implementation code
path which sends console output to a chardev doesn't honour this,
and will return negative values on error.  Bring it into line with
the other implementation codepaths and the documentation, so that
it returns 0 on error.

Spotted by Coverity, because console_write() passes the return value
to unlock_user(), which doesn't accept a negative length.

Resolves: Coverity CID 1490288
Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
---
console_write() doesn't need to pass the length to unlock_user()
at all, as it happens -- see the next patch.

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>

r~

Reply via email to