|
From: | Max Reitz |
Subject: | Re: [PATCH] block: Fix integer promotion error in bdrv_getlength() |
Date: | Thu, 5 Nov 2020 14:26:51 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 |
On 05.11.20 14:14, Eric Blake wrote:
On 11/5/20 2:31 AM, Max Reitz wrote:On 05.11.20 06:40, Tuguoyi wrote:As BDRV_SECTOR_SIZE is of type uint64_t, the expression will automatically convert the @ret to uint64_t. When an error code returned from bdrv_nb_sectors(), the promoted @ret will be a very large number, as a result the -EFBIG will be returned which is not the real error code. Signed-off-by: Guoyi Tu <tu.guoyi@h3c.com> --- block.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)Thanks, applied to my block branch: https://git.xanclic.moe/XanClic/qemu/commits/branch/blockI actually preferred the v1 solution, rather than this v2, as it avoided a cast.
I don’t, because it doesn’t make the ?: go away, so I prefer the less invasive version.
If you want to send your suggested version (that drops both ?:), I’m happy to take that instead.
Max
[Prev in Thread] | Current Thread | [Next in Thread] |