ASoC: simple-card-utils: Fix pointer check in graph_util_parse_link_direction
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Tue, 29 Apr 2025 09:49:10 +0000 (11:49 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 30 Apr 2025 23:22:35 +0000 (08:22 +0900)
Actually check if the passed pointers are valid, before writing to them.
This also fixes a USBAN warning:
UBSAN: invalid-load in ../sound/soc/fsl/imx-card.c:687:25
load of value 255 is not a valid value for type '_Bool'

This is because playback_only is uninitialized and is not written to, as
the playback-only property is absent.

Fixes: 844de7eebe97 ("ASoC: audio-graph-card2: expand dai_link property part")
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://patch.msgid.link/20250429094910.1150970-1-alexander.stein@ew.tq-group.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/simple-card-utils.c

index a1ccc30..3ae2a21 100644 (file)
@@ -1174,9 +1174,9 @@ void graph_util_parse_link_direction(struct device_node *np,
        bool is_playback_only = of_property_read_bool(np, "playback-only");
        bool is_capture_only  = of_property_read_bool(np, "capture-only");
 
-       if (is_playback_only)
+       if (playback_only)
                *playback_only = is_playback_only;
-       if (is_capture_only)
+       if (capture_only)
                *capture_only = is_capture_only;
 }
 EXPORT_SYMBOL_GPL(graph_util_parse_link_direction);