diff options
author | Lennart Poettering <lennart@poettering.net> | 2019-03-28 19:26:21 +0100 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2019-03-29 08:18:25 +0100 |
commit | bd169c2be0fbdaf6eb2ea7951e650d5e5983fbf6 (patch) | |
tree | 177a32bcdfe84ffca2491f18f1b8905d0de91828 /src/notify | |
parent | 7232c1f9da0904de479b17dc58410b972639bb4e (diff) | |
download | systemd-bd169c2be0fbdaf6eb2ea7951e650d5e5983fbf6.tar.gz |
fsck: copy out device argument from argv[] before forking
We nowadays rename our child processes, hence argv[] will be clobbered,
let's hence copy the device path to dynamic memory before forking.
This is fall-out from 60ffa37a65a96c3af857a3dfc4a6fd47b20cc90e since we
now a lot more often end up overriding the argv[] buffer than before,
simple because we know what to override.
These kind of bugs kinda suck. THere are only two options here: stop
overriding argv[] for all cases (or just these cases) or explicitly
copying out everything we need in child processes before forking. With
this patch I opt for the latter, though I am not 100% convinced this is
a great solution. Just a better solution than everything else, i.e.
allowing argv[] to remain out of sync with what others see.
Fixes: #12135
Diffstat (limited to 'src/notify')
0 files changed, 0 insertions, 0 deletions