From: Yu Watanabe Date: Tue, 10 Dec 2024 15:47:26 +0000 (+0900) Subject: copy: do not try to copy zero size data X-Git-Tag: v257~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=edd0a3c5e99a854de98fa9de9e6311a9f6e5fc8c;p=thirdparty%2Fsystemd.git copy: do not try to copy zero size data Hopefully fixes the following sanitizer issue: === [ 3754.797377] systemd-journald[776]: ../src/src/shared/copy.c:463:37: runtime error: variable length array bound evaluates to non-positive value 0 [ 3755.101713] systemd-journald[776]: Received SIGTERM from PID 1 (systemd). [ 3755.124580] systemd-journald[776]: Journal stopped Found 1 sanitizer issues (0 internal, 0 asan, 0 ubsan, 0 msan). === --- diff --git a/src/shared/copy.c b/src/shared/copy.c index 836753cc750..5221397da5d 100644 --- a/src/shared/copy.c +++ b/src/shared/copy.c @@ -346,6 +346,8 @@ int copy_bytes_full( /* Make sure we're not copying more than the current data segment. */ m = MIN(m, (size_t) e - c); + if (m <= 0) + continue; } /* First try copy_file_range(), unless we already tried */