[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] 答复: [PATCH] qemu-pr-helper: check the return value of fcnt
From: |
lizhengui |
Subject: |
[Qemu-devel] 答复: [PATCH] qemu-pr-helper: check the return value of fcntl in do_pr_out |
Date: |
Thu, 21 Mar 2019 09:31:59 +0000 |
Ok!
-----邮件原件-----
发件人: Stefano Garzarella [mailto:address@hidden
发送时间: 2019年3月21日 17:28
收件人: lizhengui
抄送: address@hidden; address@hidden; address@hidden; address@hidden; wangjie
(P); address@hidden; address@hidden; Fangyi (C)
主题: Re: [Qemu-devel] [PATCH] qemu-pr-helper: check the return value of fcntl in
do_pr_out
Hi Zhengui,
thanks for this patch!
For the next patches, please add a version tag when resending.
"git format-patch" and "git send-email" both understand the
"-v2" option.
On Wed, Mar 20, 2019 at 10:07:27PM +0800, Zhengui li wrote:
> The function fcntl maybe return -1, which is not a unsigned type.
> Unsigned type or Negative values should not do bitwise operator with
> O_ACCMODE.
>
> Signed-off-by: Zhengui li <address@hidden>
> ---
> scsi/qemu-pr-helper.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
Reviewed-by: Stefano Garzarella <address@hidden>
>
> diff --git a/scsi/qemu-pr-helper.c b/scsi/qemu-pr-helper.c
> index e7af637..fcbe4d9 100644
> --- a/scsi/qemu-pr-helper.c
> +++ b/scsi/qemu-pr-helper.c
> @@ -551,8 +551,14 @@ static int do_pr_out(int fd, const uint8_t *cdb, uint8_t
> *sense,
> const uint8_t *param, int sz)
> {
> int resp_sz;
> + int flags;
>
> - if ((fcntl(fd, F_GETFL) & O_ACCMODE) == O_RDONLY) {
> + flags = fcntl(fd, F_GETFL);
> + if (flags < 0) {
> + return -1;
> + }
> +
> + if (((unsigned int) flags & O_ACCMODE) == O_RDONLY) {
> scsi_build_sense(sense, SENSE_CODE(INVALID_OPCODE));
> return CHECK_CONDITION;
> }
> --
> 2.7.2.windows.1
>
>
>