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).
===
This commit is contained in:
Yu Watanabe
2024-12-11 00:47:26 +09:00
committed by Luca Boccassi
parent a33813e9e9
commit edd0a3c5e9

View File

@@ -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 */