summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanu Kaskinen <tanuk@iki.fi>2017-10-29 21:15:48 +0200
committerTanu Kaskinen <tanuk@iki.fi>2017-10-30 16:46:15 +0200
commit917730a55565e1a98a4fa0249470794f81bbe42a (patch)
tree2dd4aaed0f58bfa6a7d0bbd66ff7b9dd0230c268
parent459cea16ee8be1024c35e86ab9a3676ceebcb550 (diff)
sink-input, source-output: add a couple of assertions
Coverity complained about data->sink being possibly NULL when it's dereferenced later. It was difficult for me to figure out whether that was a false positive or not. Hopefully the comments make it a bit easier to reason about the code in the future. CID: 1323591
-rw-r--r--src/pulsecore/sink-input.c5
-rw-r--r--src/pulsecore/source-output.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c
index 05fe2c026..f993322e9 100644
--- a/src/pulsecore/sink-input.c
+++ b/src/pulsecore/sink-input.c
@@ -338,6 +338,11 @@ int pa_sink_input_new(
data->format = pa_format_info_copy(pa_idxset_first(data->nego_formats, NULL));
if (PA_LIKELY(data->format)) {
+ /* We know that data->sink is set, because data->format has been set.
+ * data->format is set after a successful format negotiation, and that
+ * can't happen before data->sink has been set. */
+ pa_assert(data->sink);
+
pa_log_debug("Negotiated format: %s", pa_format_info_snprint(fmt, sizeof(fmt), data->format));
} else {
pa_format_info *format;
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index f8a421aa8..f8f4e0ef0 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -280,6 +280,11 @@ int pa_source_output_new(
data->format = pa_format_info_copy(pa_idxset_first(data->nego_formats, NULL));
if (PA_LIKELY(data->format)) {
+ /* We know that data->source is set, because data->format has been set.
+ * data->format is set after a successful format negotiation, and that
+ * can't happen before data->source has been set. */
+ pa_assert(data->source);
+
pa_log_debug("Negotiated format: %s", pa_format_info_snprint(fmt, sizeof(fmt), data->format));
} else {
pa_format_info *format;