fsck: fix incorrect handling of child exit
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 24 May 2018 13:26:28 +0000 (15:26 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 24 May 2018 13:29:15 +0000 (15:29 +0200)
commitccb8e4bc4fb74701d0d323d61e9359d8597a4272
treeebab2c7ac66d99102978efa66045d33abfb16341
parent8c24af9dcfe0d89a660c39838eec4d20bc13efbf
fsck: fix incorrect handling of child exit

In commit

  c4fb8c6a - fsck: do not use statics

not only statics were changed but also a couple of
statics-unrelated changes were made.

This included the handling of the child termination status
as follows:

    - if (WIFEXITED(status))
    -   status = WEXITSTATUS(status);
    - else if (WIFSIGNALED(status)) {
    + status = WEXITSTATUS(status);
    + if (WIFSIGNALED(status)) {

This is wrong, should have used a different variable to hold exit code.

Reported by Niklas Hambüchen <mail@nh2.me>.

function                                             old     new   delta
wait_one                                             294     282     -12

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
e2fsprogs/fsck.c