Systemd/src/shared
Lennart Poettering da6053d0a7 tree-wide: be more careful with the type of array sizes
Previously we were a bit sloppy with the index and size types of arrays,
we'd regularly use unsigned. While I don't think this ever resulted in
real issues I think we should be more careful there and follow a
stricter regime: unless there's a strong reason not to use size_t for
array sizes and indexes, size_t it should be. Any allocations we do
ultimately will use size_t anyway, and converting forth and back between
unsigned and size_t will always be a source of problems.

Note that on 32bit machines "unsigned" and "size_t" are equivalent, and
on 64bit machines our arrays shouldn't grow that large anyway, and if
they do we have a problem, however that kind of overly large allocation
we have protections for usually, but for overflows we do not have that
so much, hence let's add it.

So yeah, it's a story of the current code being already "good enough",
but I think some extra type hygiene is better.

This patch tries to be comprehensive, but it probably isn't and I missed
a few cases. But I guess we can cover that later as we notice it. Among
smaller fixes, this changes:

1. strv_length()' return type becomes size_t

2. the unit file changes array size becomes size_t

3. DNS answer and query array sizes become size_t

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=76745
2018-04-27 14:29:06 +02:00
..
linux bpf: add new bpf.h header copy from 4.15 kernel 2018-02-21 16:43:36 +01:00
linux-3.13 Avoid strict DM interface version dependencies (#5519) 2017-03-02 19:11:37 +01:00
acl-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
acl-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
acpi-fpdt.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
acpi-fpdt.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
apparmor-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
apparmor-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ask-password-api.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ask-password-api.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
base-filesystem.c tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
base-filesystem.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
boot-timestamps.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
boot-timestamps.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bootspec.c tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
bootspec.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
bus-unit-util.c tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
bus-unit-util.h tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
bus-util.c bus-util: introduce bus_open_system_watch_bind_with_description() 2018-04-17 23:37:52 +09:00
bus-util.h bus-util: introduce bus_open_system_watch_bind_with_description() 2018-04-17 23:37:52 +09:00
cgroup-show.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
cgroup-show.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
clean-ipc.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
clean-ipc.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
condition.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
condition.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
conf-parser.c conf-parse: add a generic config_parse_mtu() conf file parser function 2018-04-26 13:51:44 +02:00
conf-parser.h conf-parse: add a generic config_parse_mtu() conf file parser function 2018-04-26 13:51:44 +02:00
dev-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dev-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dissect-image.c tree-wide: drop redundant _cleanup_ macros (#8810) 2018-04-25 12:31:45 +02:00
dissect-image.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dns-domain.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dns-domain.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dropin.c dropin: when looking for dropins for a unit, also look within "-" prefix unit dirs 2018-04-13 11:34:48 +02:00
dropin.h core: minor coding style changes 2018-04-13 11:34:48 +02:00
efivars.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
efivars.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
fdset.c tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
fdset.h tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
firewall-util.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
firewall-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
fstab-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
fstab-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
generator.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
generator.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
gpt.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ima-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ima-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
import-util.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
import-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
initreq.h
install-printf.c Add %j/%J unit specifiers 2018-04-24 10:05:04 +02:00
install-printf.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
install.c tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
install.h tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
journal-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
journal-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
libshared.sym tree-wide: tabs suck (#8527) 2018-03-23 15:21:35 +01:00
logs-show.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
logs-show.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
loop-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
loop-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
machine-image.c tree-wide: drop redundant _cleanup_ macros (#8810) 2018-04-25 12:31:45 +02:00
machine-image.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
machine-pool.c tree-wide: drop redundant _cleanup_ macros (#8810) 2018-04-25 12:31:45 +02:00
machine-pool.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
meson.build pager: move pager.[ch] src/shared/ → src/basic/ 2018-04-18 12:35:45 +02:00
nsflags.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
nsflags.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
output-mode.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
output-mode.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
path-lookup.c tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
path-lookup.h tree-wide: drop redundant _cleanup_ macros (#8810) 2018-04-25 12:31:45 +02:00
ptyfwd.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ptyfwd.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
resolve-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
resolve-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
seccomp-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
seccomp-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
sleep-config.c Merge pull request #8700 from keszybz/hibernation 2018-04-11 10:26:27 +02:00
sleep-config.h Merge pull request #8676 from keszybz/drop-license-boilerplate 2018-04-10 14:53:31 +02:00
spawn-ask-password-agent.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
spawn-ask-password-agent.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
spawn-polkit-agent.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
spawn-polkit-agent.h polkit: normalize exit values of polkit_agent_open_if_enabled() 2018-04-17 19:51:43 +02:00
specifier.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
specifier.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
switch-root.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
switch-root.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
sysctl-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
sysctl-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
test-tables.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
tests.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
tests.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
tomoyo-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
tomoyo-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
udev-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
udev-util.h tree-wide: drop redundant _cleanup_ macros (#8810) 2018-04-25 12:31:45 +02:00
uid-range.c uid-range: remove spurious newline 2018-04-18 18:00:05 +02:00
uid-range.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
utmp-wtmp.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
utmp-wtmp.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
vlan-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
vlan-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
volatile-util.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
volatile-util.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
watchdog.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
watchdog.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
wireguard-netlink.h networkd: add support for wireguard interface type 2018-01-09 14:00:49 +01:00