[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V2] util: Remove redundant checks in the openpty()
From: |
Alex Chen |
Subject: |
Re: [PATCH V2] util: Remove redundant checks in the openpty() |
Date: |
Tue, 14 Sep 2021 15:43:37 +0800 |
User-agent: |
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 |
Hi all,
This patch has been reviewed by Peter. who can help merge it?
Thanks,
Alex
On 2020/11/2 18:55, AlexChen wrote:
> As we can see from the following function call stack, amaster and aslave
> can not be NULL: char_pty_open() -> qemu_openpty_raw() -> openpty().
> In addition, according to the API specification for openpty():
> https://www.gnu.org/software/libc/manual/html_node/Pseudo_002dTerminal-Pairs.html,
> the arguments name, termp and winp can all be NULL, but arguments amaster or
> aslave
> can not be NULL.
> Finally, amaster and aslave has been dereferenced at the beginning of the
> openpty().
> So the checks on amaster and aslave in the openpty() are redundant. Remove
> them.
>
> Reported-by: Euler Robot <euler.robot@huawei.com>
> Signed-off-by: Alex Chen <alex.chen@huawei.com>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> util/qemu-openpty.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/util/qemu-openpty.c b/util/qemu-openpty.c
> index eb17f5b0bc..427f43a769 100644
> --- a/util/qemu-openpty.c
> +++ b/util/qemu-openpty.c
> @@ -80,10 +80,9 @@ static int openpty(int *amaster, int *aslave, char *name,
> (termp != NULL && tcgetattr(sfd, termp) < 0))
> goto err;
>
> - if (amaster)
> - *amaster = mfd;
> - if (aslave)
> - *aslave = sfd;
> + *amaster = mfd;
> + *aslave = sfd;
> +
> if (winp)
> ioctl(sfd, TIOCSWINSZ, winp);
>
- Re: [PATCH V2] util: Remove redundant checks in the openpty(),
Alex Chen <=