[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V2] util: Remove redundant checks in the openpty()
From: |
Laurent Vivier |
Subject: |
Re: [PATCH V2] util: Remove redundant checks in the openpty() |
Date: |
Wed, 15 Sep 2021 14:44:44 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Le 14/09/2021 à 09:43, Alex Chen a écrit :
> 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);
>>
>
>
Applied to my trivial-patches branch.
Thanks,
Laurent