pipewire/src/tools
Wim Taymans e317edcfb9 pod: rework the parser
Make a new body.h file with some functions to deal with pod and their
body. Make the iter.h functions use mostly this.

Rework the parser so that it only uses body.h functions. With the separation
of pod+body, we can read and verify the pod once and then use the
verified copy to handle the rest of the body safely.

We do this because iter.h only works in pods in memory that doesn't change
because it is vulnerable to modifications of the data after verifying it.

The new parser is not vulnerable to this and will not cause invalid
memory access when used on shared memory. There is however no need for
atomic operations to read the headers, whever is read is either valid
and useable of invalid and rejected.

See #4822
2025-07-29 15:15:02 +02:00
..
dfffile.c pw-cat: add support for streaming 2024-08-23 15:44:31 +02:00
dfffile.h pw-cat: add DFF file suppport 2023-10-02 16:51:37 +02:00
dsffile.c pw-cat: add support for streaming 2024-08-23 15:44:31 +02:00
dsffile.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
meson.build tools: add sysex play option in pw-cat 2025-05-23 16:52:22 +02:00
midifile.c midifile: unpack the UMP SysRT bytes correctly 2025-04-16 18:33:36 +02:00
midifile.h midifile: add support for UMP 2024-07-30 09:38:40 +02:00
pw-cat.c pw-cat: Use multiple encoded frames if single frames don't fill the quantum 2025-07-18 10:53:43 +02:00
pw-cli.c pw-cli: add type info to variables 2025-06-18 15:02:20 +02:00
pw-config.c spa: add spa_json_begin 2024-09-16 09:50:31 +02:00
pw-container.c protocol: improve manager socket handling 2025-01-29 12:59:45 +01:00
pw-dot.c pw-dot: fix information on the link labels 2024-11-05 12:09:43 +02:00
pw-dump.c *: Missing bounds checks in POD handling 2025-07-15 10:13:17 +02:00
pw-link.c pw-link: avoid crash when proxy was already destroyed 2024-06-11 15:57:44 +02:00
pw-loopback.c pw-loopback: add missing --channel-map long option 2025-04-09 07:47:32 +00:00
pw-metadata.c tools: improve indentation 2024-02-09 10:24:34 +01:00
pw-mididump.c tools: also list some midi properties 2024-08-23 15:32:40 +02:00
pw-mon.c protocol: improve manager socket handling 2025-01-29 12:59:45 +01:00
pw-profiler.c pod: rework the parser 2025-07-29 15:15:02 +02:00
pw-reserve.c tools: improve indentation 2024-02-09 10:24:34 +01:00
pw-top.c pw-top: reduce flicker when updating 2025-07-29 14:57:04 +02:00
reserve.c tools: fix some missing free/close 2025-06-14 15:21:29 +03:00
reserve.h pw-reserve: require valid name + check rd_reserve_new errors 2023-11-28 10:26:43 +00:00