[PATCH 1/1] switch_root: Fix undefined fd and minor tweak

Denys Vlasenko vda.linux at googlemail.com
Wed Apr 5 12:26:07 UTC 2017


On Fri, Mar 31, 2017 at 7:34 AM, Rafał Miłecki <zajec5 at gmail.com> wrote:
> On 03/30/2017 06:19 PM, Andrei Gherzan wrote:
>>
>> On Fri, Mar 24, 2017 at 3:56 PM, Andrei Gherzan <andrei at gherzan.com>
>> wrote:
>>>
>>> Signed-off-by: Andrei Gherzan <andrei at gherzan.com>
>>> ---
>>>  util-linux/switch_root.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/util-linux/switch_root.c b/util-linux/switch_root.c
>>> index aaee35a3e..cae61d5ac 100644
>>> --- a/util-linux/switch_root.c
>>> +++ b/util-linux/switch_root.c
>>> @@ -96,6 +96,7 @@ int switch_root_main(int argc UNUSED_PARAM, char
>>> **argv)
>>>         struct stat st;
>>>         struct statfs stfs;
>>>         dev_t rootdev;
>>> +       int fd;
>>>
>>>         // Parse args (-c console)
>>>         opt_complementary = "-2"; // minimum 2 params
>>> @@ -141,8 +142,7 @@ int switch_root_main(int argc UNUSED_PARAM, char
>>> **argv)
>>>
>>>         // If a new console specified, redirect stdin/stdout/stderr to it
>>>         if (console) {
>>> -               int fd = open_or_warn(console, O_RDWR);
>>> -               if (fd >= 0) {
>>> +               if ((fd = open_or_warn(console, O_RDWR)) >= 0) {
>>>                         xmove_fd(fd, 0);
>>>                         xdup2(0, 1);
>>>                         xdup2(0, 2);
>>> --
>>> 2.12.0
>>>
>>
>> Friendly ping on this.
>
>
> Please describe this change more clearly. The "Fix undefined" part sounds
> like
> you couldn't compile the code, but I don't see any problem there at all.
>
> Why is this change needed? Also what's the "minor tweak"?

Seconded.


More information about the busybox mailing list